【问题标题】:Swift 3 SwiftyJson get unknown array keysSwift 3 SwiftyJson 获取未知数组键
【发布时间】:2016-11-30 04:49:26
【问题描述】:

我正在获取带有可变数组键/名称的 json。我需要在应用程序中使用此名称。我试过let keyINeed = json["venue"][0].arrayObject,但我得到了零。 "Meeting rooms""exit" 是我需要填充表格的值,但我不能硬编码它们,因为它们可以并且会改变

{  "venue": {
            "name": "Home Office",
            "Meeting rooms": [{
                "name": "1",
                }],
            "exit": [{
                "name": "Back door",
            }]
        }  
}

【问题讨论】:

  • 它是因为venue 不是数组而是字典
  • 向我们展示你到目前为止所做的事情。
  • 你需要像json["venue'']["Meeting rooms"].array一样得到它,退出也是一样
  • 但是“会议室”是一个变量,对于其他场所,它可能是“购物中心”,所以我需要做的是获取 2 个数组中每一个的名称,例如 key1 = json[ 0] 和 key2 = json[1]
  • @user3550256 你想得到name 的值对吗?

标签: swift swifty-json


【解决方案1】:

好的,所以我为任何想要做同样事情的人解决了这个问题

for (key, value) in json["venue"] {

    print("key \(key) value2 \(value)")

}

【讨论】:

  • 如果您只想要所有键,那么只需if let dic = json["venue"] as? [String:Any] { let keys = dic.keys }
【解决方案2】:

你应该使用“dictionaryValue”:

所以现在你可以做

let data = json["venue"].dictionaryValue
print(data.keys)

【讨论】:

  • 值得注意的是,这会给你一个无序列表。如果顺序很重要,那么@user3550256 的回答是更好的选择
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-19
  • 1970-01-01
相关资源
最近更新 更多