gpt4 book ai didi

ios - 如何在swift中过滤json对象?

转载 作者:行者123 更新时间:2023-11-28 12:37:56 24 4
gpt4 key购买 nike

如何过滤这些json对象?我的意思是我只想打印 id 等于 3 的患者。

var patients: Array<AnyObject>? if let obj: AnyObject = manager?.responseObject as AnyObject? {
if let pats = obj["patients"] as! Array<AnyObject>? {
patients = pats
}
}

这是我打印的变量

{
patients = (
{
city = "\U0411\U0430\U044f\U043d\U0445\U043e\U043d\U0433\U043e\U0440";
district = "\U0411\U0430\U044f\U043d\U0445\U043e\U043d\U0433\U043e\U0440";
firstname = fdfsdf;
lastname = dsfgsdfg;
"patient_id" = 1064;
"patient_status" = 3;
"register_id" = "\U0430\U043083040411";
}
{
city = "\U0411\U0430\U044f\U043d\U0445\U043e\U043d\U0433\U043e\U0440";
district = "\U0411\U0430\U044f\U043d\U0445\U043e\U043d\U0433\U043e\U0440";
firstname = dwfw;
lastname = dsfsdf;
"patient_id" = 1056;
"patient_status" = 1;
"register_id" = "\U0443\U044399111134";
}
}

最佳答案

请尽量减少类型。

所有类型都比 AnyObject 更具体, JSON 字典总是 [String:AnyObject]和 JSON 数组是 Array<[String:AnyObject]> .使用 Array<AnyObject>仅当数组包含另一个数组或嵌套更多时。

使用 filter 筛选患者功能。

var patients = Array<[String:AnyObject]>()

if let obj = manager?.responseObject as? [String:AnyObject] {
if let pats = obj["patients"] as? Array<[String:AnyObject]> {
patients = pats.filter { $0["patient_status"] as! Int == 3 }
}
}

注意:在 Swift 3 中 AnyObject已替换为 Any .

关于ios - 如何在swift中过滤json对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40302380/

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