在 Swift 3 中从 JSON 解析数组文字

Posted

技术标签:

【中文标题】在 Swift 3 中从 JSON 解析数组文字【英文标题】:Parsing array literal from JSON in Swift 3 【发布时间】:2017-03-06 02:37:21 【问题描述】:

我有一个 php 脚本,它以数组文字的格式返回 JSON 响应。

返回的确切示例:

["school","chess_club"]

但是,在我成功收到响应后,我无法在 Swift 中解析它。

代码:

let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as! [String:AnyObject]
print (json)

错误:

无法将“__NSArrayI”(0x10a440d88) 类型的值转换为“NSDictionary”(0x10a441288)。

关于重复的注意事项:

我找到了这个重复的 Could not cast value of type '__NSArrayI' (0x10df73c08) to 'NSDictionary' (0x10df74108),但我不知道如何使用它来修复我遇到的错误。

具体来说,我不明白如何将其转换为 NSDictionary,因为我没有在代码“NSDictionary”中指定任何地方。

【问题讨论】:

【参考方案1】:

[String:AnyObject]Dictionary 对象,尽管您没有指定它。试试这个:

let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as! [String]
print (json)

【讨论】:

@Panda 如果对您有帮助,请将其标记为答案 :) 是的,3分钟后会在允许的时候标记它,再次感谢!

以上是关于在 Swift 3 中从 JSON 解析数组文字的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中从 JSON 对象解析多个数组

IOS - 如何在 Swift 3 中从 JSON 中捕获动态数组维度

在 Swift 中从 json 解析我的数据有啥问题?

如何在swift 3中解析Json对象

在 Swift 3 中解析 JSON 数组

swift 3 将 json 数组解析为键值