我有一些JSON数据。这是一个字典数组 SwiftyJson数组被称为jsonObj [" Customer"],看起来像:
[{
"kode_customer": 1,
"nama_customer": "Logam Jaya, UD",
"alamat_customer": "Rajawali No 95",
"kodepos": 60176,
"kode_provinsi": 11,
"gps_lat": -7.233834999999999,
"gps_long": 112.72964666666667
}, {
"kode_customer": 2,
"nama_customer": "Terang, TK",
"alamat_customer": "Raya Dukuh Kupang 100",
"kodepos": 60225,
"kode_provinsi": 11,
"gps_lat": -7.285430000000001,
"gps_long": 112.71538333333335
}, {
"kode_customer": 3,
"nama_customer": "Sinar Family",
"alamat_customer": "By Pass Jomin No 295",
"kodepos": 41374,
"kode_provinsi": 9,
"gps_lat": -6.4220273,
"gps_long": 107.4748978
}, {
"kode_customer": 4,
"nama_customer": "Lancar Laksana, TB",
"alamat_customer": "Jendral Sudirman No 69",
"kodepos": 41374,
"kode_provinsi": 9,
"gps_lat": -6.4220273,
"gps_long": 107.4748978
}]
现在我想以这种方式过滤数据
let filterdData = self.jsonObj["Customer"].filter({(JSON) -> Bool in
return self.jsonObj["Customer"]["kodepos"] < 6000
})
我想现在看到两个结果。但这不起作用,我认为因为缺少索引&#39;之间
self.jsonObj["Customer"] and ["kodepos"]
或者让我以另一种方式说出来
print (self.jsonObj["Customer"]["kodepos"])
...我只想查看kodepos的所有值
如何在SwiftyJson中过滤数据。
答案 0 :(得分:0)
一种方法是使用SwiftyJSON对象的 .arrayValue 来创建过滤器
UPDATE: classrecord <- read.csv(file.choose(), header = TRUE) (find the excel file)
classrecord$Term_Grade <- ((classrecord$Q1 + classrecord$Q2 + classrecord$Q3 + classrecord$Q4)/150*50+50 *0.4 + classrecord$Exam*0.4+classrecord$Project*0.2)
请参阅SwiftyJSON存储库https://github.com/SwiftyJSON/SwiftyJSON#subscript
中的下标部分答案 1 :(得分:0)
如果您使用的是SwiftyJSON,请尝试使用以下代码段。它完美地运作。
let jsonObj = some JSON
let jobj = jsonObj.arrayValue
if !jobj.isEmpty {
let j = jobj.filter({ (json) -> Bool in
return json["country"].stringValue == "US"; })
print ("filterdData: \(j)")
}
注意:jobj应为.arrayValue,否则无效。