JsonParse错误在iPhone设备,但在正确模拟器

问题描述:

这是我的代码:JsonParse错误在iPhone设备,但在正确模拟器

let res = try JSONSerialization.jsonObject(with: data!, options:.mutableContainers) as! [[String:Any]] 

的数据是Response.data的结果。

它运作良好的模拟器,但是当在iphone6控制台输出

Could not cast value of type ‘__NSDictionaryM’ to ‘NSArray’ 

JSON数据格式是这样

[{"":""},{"":""},{"":""}] 

的jsondata形式服务器的Android,IOS模拟器效果很好。但是当涉及到我的iPhone设备时,代码失败。 响应json数据的结果就是{},它是空的,但是在Xcode模拟器上它很顺利。

任何人都可以告诉我为什么吗?

+0

试试这个,如果它不是数组:let res = try JSONSerialization.jsonObject(with:data !, options:.mutableContainers)as! [字符串:任意] – KKRocks

试试这个会有帮助:as! Array<Dictionary<String,Any>>

如果您的格式是这样[{"":""},{"":""},{"":""}]

+0

感谢您的帮助!但它在iPhone中无法使用,Xcode模拟器仍然运行良好。在模拟器中,响应数据仅在设备中,而在模拟器中为{{“”:“”},{“”:“”},{“”:“”}],即使浏览器中的GET结果是正确的 –

+0

尝试打印类型为“任何”的响应 –

检查,如果JSON是一个真正的数组。 顺便说一句,不要强制解包数据或jsonObject