Swift 3 JSON 从 JSONArray 获取字符串不起作用

Posted

技术标签:

【中文标题】Swift 3 JSON 从 JSONArray 获取字符串不起作用【英文标题】:Swift 3 JSON get String from JSONArray does not work 【发布时间】:2016-12-18 12:55:14 【问题描述】:

我尝试从我的 JSON 服务器响应中提取文件名的值。

if let attachments = itemDict["attachments"] as? [[String:String]] 
            for attachment in attachments 
               print(attachment["filename"])
            
        

这是我的 JSON 字符串。

"attachments":["filename":"000000_none-5.png","uploadDate":1482062835000,"imageRatio":0.0
,"filename":"000000_none-2.png","uploadDate":1482062839000,"imageRatio":0.0]

它不起作用。我在做什么错,我真的不知道。它不会进入 for 循环。

提前感谢您提供任何有用的回复!

【问题讨论】:

【参考方案1】:

字典不是[String:String],而是[String:Any],因为它们还包含IntDouble 值:

if let attachments = itemDict["attachments"] as? [[String:Any]] 
    for attachment in attachments 
       print(attachment["filename"] as! String)
    

【讨论】:

【参考方案2】:

也许尝试转换为[Dictionary<String, AnyObject>] 而不是[[String:String]]

【讨论】:

以上是关于Swift 3 JSON 从 JSONArray 获取字符串不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用 Alamofire 调用 JSONArray

JSON解析错误Swift 3

json学习之JSONArray的应用(转载)

jsonarray 哪个性能好

如何获取jsonarray中 某个值

JSONArray 无法根据 indexPath 获取数组