从具有未知结构的JSON中查找值SWIFT

时间:2017-06-02 15:49:05

标签: json swift dictionary

我读了一些关于使用未知结构解析JSON的问题。但是这些问题不在Swift中,也没有解决我的问题。

我有一个很大的JSON文件,我通过Alamofire HTTP请求获得。这是:https://pastebin.com/Y7cWSWAt

事实上,JSON可能会随着我的要求而改变。根据用户的不同,它并不总是相同的结构(例如)。但是,键和值将相同。

所以我知道JSON中的键来找到值,它们总是一样的。但我不知道如何访问它们。此外,我的JSON有一个Any类型(我不能给他一个特定类型,因为我不知道它)。

我的问题:有没有找到这个值的解决方案?我可以循环抛出所有JSON值来查找特定的键和值吗?使用JSON文件或词典更好吗?我还没有代码,因为我不知道。谢谢伙伴们!

1 个答案:

答案 0 :(得分:0)

如果你只想使用NSDictionary这不是问题,但是当返回数组json时你的应用程序将崩溃,因为变量类型不等于。

let json = try? JSONSerialization.jsonObject(with: data!, options: .allowFragments)
if json != nil {
    let obj = json as? NSDictionary
}
//this part write all key and value 
for (key, value) in obj {
        print("Property: \"\(key as String)\", Value: \"\(value as String)\"")
    } 

输入:{"test1":"value1","test2":"value2"}

输出:

Property: "test1", Value: "value1"
Property: "test2", Value: "value2"