如何过滤swiftyjson数组
how to filter swiftyjson array
我会尝试从堆栈溢出中得到的所有解决方案,但这是我的运气不好。我将 JSON 响应存储在 [Any] 数组中,如下所示:
var json = JSON()
var arrClientType = [Any]()
self.json = JSON(value) //value is json data
self.arrClientType = self.json["client_type_data"].arrayValue
现在,我想过滤这个数组并在表视图中重新加载过滤后的数据。
[{
"client_type_name" : "Asset Manager",
"client_type_id" : 1
}, {
"client_type_name" : "Broker Dealer",
"client_type_id" : 5
}, {
"client_type_name" : "Corporate",
"client_type_id" : 8
}, {
"client_type_name" : "Custodian and Prime Broker",
"client_type_id" : 3
}, {
"client_type_name" : "Diversified Financial Services Firms",
"client_type_id" : 4
}, {
"client_type_name" : "Fund Administrator",
"client_type_id" : 6
}, {
"client_type_name" : "Hedge Fund Manager",
"client_type_id" : 2
}, {
"client_type_name" : "Individual",
"client_type_id" : 7
}]
我也试试这个:
let filtered = JSON(self.arrList).arrayValue.filter({
[=12=]["client_type_name"].arrayValue.map({ [=12=].stringValue }).contains("Broker Dealer")
})
print ("filterdData: \(filtered)")
但它给了我入口过滤器数组。
请帮帮我
试试这个
filtered = arrList.filter { [=10=]["client_type_name"].stringValue.contains("Broker Dealer") }
并将您的self.arrlist更改为字典类型数组
var arrList: [JSON] = []
var filtered :[JSON] = []
试试这个,您将能够将 包含 "client_type_name" 的数据过滤为 经纪交易商.
let arrClientType = [["client_type_name":"Asset Manager" , "client_type_id":1] , ["client_type_name":"Broker Dealer" , "client_type_id":5] , ["client_type_name":"Corporate" , "client_type_id":8]]
if let filteredData = arrClientType.filter({(([=10=] as? [String:Any])?["client_type_name"] as? String ?? "") == "Broker Dealer"}) as? [Any] {
print(filteredData)
}
filteredData 是包含字典的 arrayOfDictionary,其中 "client_type_name" 作为 Broker Dealer.
我会尝试从堆栈溢出中得到的所有解决方案,但这是我的运气不好。我将 JSON 响应存储在 [Any] 数组中,如下所示:
var json = JSON()
var arrClientType = [Any]()
self.json = JSON(value) //value is json data
self.arrClientType = self.json["client_type_data"].arrayValue
现在,我想过滤这个数组并在表视图中重新加载过滤后的数据。
[{
"client_type_name" : "Asset Manager",
"client_type_id" : 1
}, {
"client_type_name" : "Broker Dealer",
"client_type_id" : 5
}, {
"client_type_name" : "Corporate",
"client_type_id" : 8
}, {
"client_type_name" : "Custodian and Prime Broker",
"client_type_id" : 3
}, {
"client_type_name" : "Diversified Financial Services Firms",
"client_type_id" : 4
}, {
"client_type_name" : "Fund Administrator",
"client_type_id" : 6
}, {
"client_type_name" : "Hedge Fund Manager",
"client_type_id" : 2
}, {
"client_type_name" : "Individual",
"client_type_id" : 7
}]
我也试试这个:
let filtered = JSON(self.arrList).arrayValue.filter({
[=12=]["client_type_name"].arrayValue.map({ [=12=].stringValue }).contains("Broker Dealer")
})
print ("filterdData: \(filtered)")
但它给了我入口过滤器数组。
请帮帮我
试试这个
filtered = arrList.filter { [=10=]["client_type_name"].stringValue.contains("Broker Dealer") }
并将您的self.arrlist更改为字典类型数组
var arrList: [JSON] = []
var filtered :[JSON] = []
试试这个,您将能够将 包含 "client_type_name" 的数据过滤为 经纪交易商.
let arrClientType = [["client_type_name":"Asset Manager" , "client_type_id":1] , ["client_type_name":"Broker Dealer" , "client_type_id":5] , ["client_type_name":"Corporate" , "client_type_id":8]]
if let filteredData = arrClientType.filter({(([=10=] as? [String:Any])?["client_type_name"] as? String ?? "") == "Broker Dealer"}) as? [Any] {
print(filteredData)
}
filteredData 是包含字典的 arrayOfDictionary,其中 "client_type_name" 作为 Broker Dealer.