gpt4 book ai didi

JSON 数据摄取和排序以实现高效搜索

转载 作者:行者123 更新时间:2023-11-28 14:17:51 25 4
gpt4 key购买 nike

我想获取类似于以下 JSON 格式的数据,并获取此人的附件列表中的内容,并能够按附件类型进行搜索,并让它返回拥有该附件的人员列表。我是否想以某种方式使用 Swift 的 contains 内置函数,这样我就不必构建 for 循环来进行搜索?我是否必须创建为每种配件类型命名的新列表并将用户名附加到它们?如何做到这一点?我真的不确定如何处理这个问题。

[
{
"name": "John",
"Accessories":["watch","necklace"]
},
{
"name": "James",
"Accessories":["watch","ring"]
}
]

最佳答案

您可以在 Swift 4 中使用 Decodable 协议(protocol)。首先您必须创建一个类来定义您的 JSON 对象

class MyNewClass: Decodable {
//Make sure your variable names match the keys in your JSON response
var name: String!
var Accessories: [String]!
}

当您获得 JSON 响应时,使用以下行将 JSON 数据解码为类对象数组并根据搜索条件过滤该数组

do {
let objects = try JSONDecoder().decode([MyNewClass].self, from: data)
let people = obj.filter({ $0.Accessories.contains("WHATEVER") }).map{ $0.name }
//Here you should have an array of people's name that have that accessory
} catch {error
print(error)
}

关于JSON 数据摄取和排序以实现高效搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52069090/

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