我有以下JSON:
[
{ "id": "WWJaePyv9a", "username": "johndoe", "aArray": [ "ww", "qq" ] },
{ "id": "P04nBQV2w0", "username": "bobdoe", "aArray": [ "xx", "yy" ] }
]
而且我正在使用以下快速代码来尝试查询aArray值中的关键字数组:
queryData(fileName: USERS_TABLE_NAME) { (objects) in
for i in 0..<objects!.count {
let uObj = objects![i]
let keywords = JSON(arrayLiteral: ["ww","xx"])
// Query filters
if uObj[USERS_ARRAY].array!.contains(keywords) {
self.usersArray.append(uObj)
print("\(uObj)\n__________________________________________________\n")
}
}// ./ For
}
但是我的Xcode控制台什么也没得到。我知道如果我使用此If语句:
if uObj[USERS_ARRAY].array!.contains("ww")
|| uObj[USERS_ARRAY].array!.contains("xx") {
self.usersArray.append(uObj)
print("\(uObj)\n__________________________________________________\n")
}
我在控制台中打印了我的JSON文件的2个对象。
是否有一种方法可以使用单行代码或者比我的代码更好的代码,用SwiftyJSON搜索keywords [String]
数组?
您可以使用filter
uObj[USERS_ARRAY].array!.filter {$0 == "ww" || $0 == "xx" }