这是一个非常奇怪的错误,当从我的服务器(通过PHP生成)获取JSON时,我在调用时会得到这个错误:
json = [NSJSONSerialization JSONObjectWithData:kivaData
options:kNilOptions
error:&jsonError];JSON错误:错误Domain=NSCocoaErrorDomain Code=3840“操作无法完成。(可可错误3840。)(最后是垃圾)UserInfo=0x178467d00 {NSDebugDescription=Garbage在末尾.}
我的(NSData* kivaData)完美地掌握了一切,但它不能解析JSON。
我已经在http://jsonlint.com/中运行了我的JSON代码,它每次都是有效的。
这真的很奇怪,因为当我连接到Wifi时,它可以解析JSON,但是当我尝试通过单元格执行它时,它是行不通的。它确实适用于某些人的手机上,但每次都是这样。
发布于 2014-09-27 02:45:40
最后,我不得不将我的php文件从回显json语法改为使用json_encode输出。
发布于 2019-04-25 19:08:53
首先,使用swift 4检查JSON数据,使用print:
print (String(data:data!, encoding: .utf8)!)检查空格或不需要的字符,然后删除它们:
var string = String(data: data!, encoding: .utf8)
string = string?.replacingOccurrences(of: "/r/n", with: "")之后,将字符串赋值给data变量:
let data1 = string!.data(using: .utf8)发布于 2014-08-14 21:10:15
编码非常重要。如果您的json是有效的,问题可能是您的json数据中有特殊字符,而json序列化程序没有正确地分析这些字符。当您发送数据时,请确保在发送内容时有正确的url编码,以便客户端能够正确地解析它。使用utf-8始终或base64。
https://stackoverflow.com/questions/25317060
复制相似问题