Ios 如何在swift中过滤json对象?
如何过滤这些json对象?我的意思是我只想打印id等于3的患者Ios 如何在swift中过滤json对象?,ios,arrays,json,swift,parsing,Ios,Arrays,Json,Swift,Parsing,如何过滤这些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
var patients: Array<AnyObject>? if let obj: AnyObject = manager?.responseObject as AnyObject? {
if let pats = obj["patients"] as! Array<AnyObject>? {
patients = pats
}
}
请尽可能把字型写下来 所有类型都比
AnyObject
更具体,JSON字典总是[String:AnyObject]
,JSON数组是Array
。仅当数组包含另一个数组或更嵌套时,才使用Array
使用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 }
}
}
var患者=数组()
如果让obj=manager?响应对象为?[字符串:AnyObject]{
如果让pats=obj[“患者”]作为?数组{
patients=pats.filter{$0[“patient_status”]as!Int==3}
}
}
注意:在Swift 3中,如果让pats=obj[“patients”]作为[String:Any]{patients=pats.filter{$0.patient\u id==3}或类似的内容,那么任何对象都将被替换为Any?
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 }
}
}