gpt4 book ai didi

ios - 使用搜索字符串解析本地 JSON 文件

转载 作者:行者123 更新时间:2023-11-28 23:24:55 25 4
gpt4 key购买 nike

真的需要你的帮助。

我正在尝试使用搜索字符串解析本地 JSON 文件(城市列表),我想取回一组与我的搜索字符串相关的选择性数据,即我输入城市名称,并获取与 JSON 文件中的字符串匹配的城市列表。

通常当数据在网络上时,只需在 URL 中添加一个查询参数就可以很容易地执行此类操作,但是我不确定在解析本地 JSON 文件时如何执行此操作。

这是我解析整个文件的代码:

guard let filePath = Bundle.main.path(forResource: "cityList", ofType: "json") else {
fatalError("Failed to create path to cityList file")
}
let fileURL = URL(fileURLWithPath: filePath)

do {
let jsonData = try Data(contentsOf: fileURL)
let cityList = try JSONDecoder().decode([City].self, from: jsonData)
print(cityList[0].name)

} catch {
print(error)
}

我希望我不必解析整个文件,因为它非常大,然后将搜索应用于我从解析中返回的结果数据数组。

最佳答案

只需过滤数组

let query = "New"
let filteredCities = cityList.filter{$0.name.range(of: query, options: .caseInsensitive) != nil) }

此语法过滤名称中包含 new(不区分大小写)的所有城市。

如果你想过滤new开始的城市,添加.anchored选项

let filteredCities = cityList.filter{$0.name.range(of: query, options: [.caseInsensitive, .anchored]) != nil) }

Bundle 中有一个 API url(forResource:withExtension:) 返回一个 URL

关于ios - 使用搜索字符串解析本地 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58975195/

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