swift 3解析json数组作为键值

时间:2016-11-27 09:07:07

标签: ios arrays json parsing swift3

我有一个json,我解析为字典。现在大多数只是像“标题”这样的关键值对:{“这是标题”}。困扰我的一件事是一个具有值数组的键值对。

"hashTags":[{"name":"pizza"},{"name":"salami"},{"name":"diet"}]

我不想使用SwiftyJSON,因为这是我无法解决的唯一部分。我需要的是将此值转换为数组,我可以迭代。我有一些方法,他们失败了,因为他们添加了新的线条或停止显示äöü符号。

提前谢谢!

2 个答案:

答案 0 :(得分:3)

  • hashTags是包含String个键和值的字典数组,将其强制转换为[[String:String]]
  • 使用for循环迭代数组并打印键name的所有值

    if let hashTags = json["hashTags"] as? [[String:String]] {
       for tag in hashTags {
           print(tag["name"])
       }
    }
    

假设json是包含密钥hashTags的父对象。

答案 1 :(得分:2)

您所需要的只是使用可编码。

您可以使用 Codable 将Json轻松解析为所需的模型。您可以查看以下文档以了解更多详细信息:

https://developer.apple.com/documentation/foundation/archives_and_serialization/using_json_with_custom_types

https://developer.apple.com/documentation/swift/codable