微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何快速获取json对象中的所有键

如何解决如何快速获取json对象中的所有键

我有如下所示的JSON对象

{
"a":"123","b":"testing"
}

在Java中,我正在使用JSONObject.names()方法

JSONArray keys = jsonObject.names();

结果变得像这样["a","b"];

类似的结果如何迅速得到?

谢谢。

解决方法

您可以使用 JSONSerialization 将JSON data解析为Dictionary类型的[String:Any],然后使用keys来进行从中获取所有密钥字符串。

do {
    if let dict = try JSONSerialization.jsonObject(with: data) as? [String:Any] {
        print(dict.keys)
    }
} catch {
    print(error)
}
,
var results = [String:Array<DataModel>]

哪里

class DataModel {
    var name: String?     
}

并获取键和值,

for i in 0...(results.length-1){
    // To print the results keys
    print(results.keys[results.startIndex.advancedBy(i)])
    // To get value from that key
    let valueFromKeyCount = (results[results.keys[results.startIndex.advancedBy(i)]] as Array<DataModel>).count
    for j in 0...(valueFromKeyCount-1) {
         let dm = results[results.keys[results.startIndex.advancedBy(i)]][j] as DataModel
         print(dm.name) 
    }
}

您的问题已在此处回答-How to fetch the key from JSON in Swift?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。