gpt4 book ai didi

ios - 反馈json格式错误

转载 作者:行者123 更新时间:2023-11-28 07:56:15 26 4
gpt4 key购买 nike

这是我的反馈json字符串:

{"name":"abc", "cardNumber":"1234567890", "data": [{A data},{B data}...]} 

我用这个函数发送数据,然后获取json并编码:

func uploadData(word:String){
var request = URLRequest(url: url!, cachePolicy: .reloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 30)
request.httpMethod = "POST"
request.httpBody = word.data(using: .utf8)
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: URLSessionConfiguration.default)
session.dataTask(with: request, completionHandler: {(data, response, error) in
if let data = data{
do{
let data = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers)
print(data) //I want to know what is this so I print
}catch{
print(error.localizedDescription)
}
}
}).resume()
}

但是控制台总是说:无法读取数据,因为它的格式不正确

如果我使用 JSONObject.getJSONArray("myValue")...

,这个 json 可以格式化并在 android 中读取我尝试使用 print(data)(没有 json 编码)来显示反馈中是否有任何数据,并且我在控制台中得到 400byte,所以我确定有数据发送回给我。

12 月 28 日更新:

{"name":"abc",
"cardNumber":"1234567890",
"data": [{day:20171228, time: 09:10:11},
{day:20171226, time: 20:00:12},
{day:20171227, time: 15:30:22}
]
}

我确定这个json可以在android中读取,我使用的接收者和发送者是vb.net,它使用sendingString = JsonConvert.SerializeObject(JSONClass)成为json字符串,然后转换以字节发送出去。

更新 12/28 新试了这么多,发现string可以得到反馈,但是 name的值是中文单词,其他值是英文和数字,只有 name是不可读的,现在我我正在检查哪个 String.Encoding 可以工作,然后如果我编码成功,我将尝试格式化为 json 数组。

最佳答案

你能试试这个吗?

func uploadData(word:String){
var request = URLRequest(url: url!, cachePolicy: .reloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 30)
request.httpMethod = "POST"
request.httpBody = word.data(using: .utf8)
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: URLSessionConfiguration.default)
session.dataTask(with: request, completionHandler: {(data, response, error) in
if let data = data{
if let returnData = String(data: data!, encoding: .utf8) {
print(returnData)
} else {
print("Invalid Data Coming")
}

do{
let data = try JSONSerialization.jsonObject(with: data, options: []) as? [String: AnyObject]
print(data) //I want to know what is this so I print
}catch{
print(error.localizedDescription)
}
}
}).resume()

关于ios - 反馈json格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47992035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com