Ios 基于json中的值进行搜索

Ios 基于json中的值进行搜索,ios,swift,uisearchbar,Ios,Swift,Uisearchbar,我的coredata模型中有一个名为name的属性,我可以根据它进行搜索,就像这样 filtered = self.newProdDetails.filter({( data : NewProduct) -> Bool in return (data.name!.lowercased().contains(searchText.lowercased())) }) 现在,我可以在cellForRowAt..中加载filtered数组,

我的coredata模型中有一个名为
name
的属性,我可以根据它进行搜索,就像这样

        filtered = self.newProdDetails.filter({( data : NewProduct) -> Bool in
            return (data.name!.lowercased().contains(searchText.lowercased()))
        })
现在,我可以在
cellForRowAt..
中加载
filtered
数组,以便根据名称进行搜索

但对于另一个视图,有另一个实体具有名为
customerJson
的属性。这个json中有
customerName
,我想在此基础上进行搜索

在我首先提到的场景中,我想要搜索的元素(
name
)直接是一个属性。但在第二种情况下,我要搜索的元素位于json中。那么在这个场景中,我如何将值分配给
过滤的
数组

我做过这样的事

        for element in orderDetails {

            if let jsonStr = element.value(forKey: "customerJson") as? String {

                let data = jsonStr.data(using: String.Encoding.utf8, allowLossyConversion: false)!

                do {
                    if let json = try JSONSerialization.jsonObject(with: data) as? [String: Any] {

                    for item in json {
                        if item.key == "first_name" {
                            var customerName = (item.value as? String)! //HERE I GET THE CUSTOMER NAME. BUT HOW CAN I ASSIGN IT TO 'filtered' ARRAY FOR THE PURPOSE OF SEARCHING, I CAN'T FIGURE OUT. 
                        }
                    }

                    }

                } catch let error as NSError {
                    print("Failed to load: \(error.localizedDescription)")
                }
            }
        }

只要在item.key==“first\u name”
范围内完成,就可以了

filterArr = self.orderDetails.filter({( data : Order) -> Bool in
      return (data.customerJson!.lowercased().contains(searchText.lowercased()))
 })