gpt4 book ai didi

json - 根据嵌套字符串的值过滤 JSON

转载 作者:行者123 更新时间:2023-11-28 08:26:52 32 4
gpt4 key购买 nike

使用如下JSON对象,是否可以只过滤IOS相关内容?我对任何方法都持开放态度,即 for-in 循环或 .filter?

例如,我想进行过滤,以便仅当平台 key 与“IOS”匹配时才返回内容,在这种情况下,我会得到:

  • 标题 1
  • 问题 1b
  • IOS

困难在于只有在平台匹配成功时才应打印标题,而且我看不到使用常规嵌套 for in 循环实现此目的的方法。

[
{
"title": "Title 1",
"faqs": [
{
"question": "question 1a",
"platform": "ANDROID"
},
{
"question": "question 1b",
"platform": "IOS"
}
]
},
{
"title": "Title 2",
"faqs": [
{
"question": "question 2a",
"platform": "ANDROID"
},
{
"question": "question 2b",
"platform": "WEB"
}
]
}
]

最佳答案

简单(Swift 3)解决方案,data 是作为 Data 的 JSON 字符串:

  do {
if let jsonObject = try JSONSerialization.jsonObject(with:data, options: []) as? [[String:Any]] {
for item in jsonObject {
if let title = item["title"] as? String,
let faqs = item["faqs"] as? [[String:String]],
let iOSFaqs = faqs.filter({$0["platform"] == "IOS"}).first {
print(title)
print(iOSFaqs)
}
}
}
} catch let error as NSError {
print(error)
}

关于json - 根据嵌套字符串的值过滤 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39722342/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com