如何使用SwiftyJSON iOS搜索JSON数组的多个元素

问题描述 投票:0回答:1

我有以下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]数组?

ios arrays swift swifty-json
1个回答
0
投票

您可以使用filter

uObj[USERS_ARRAY].array!.filter {$0 == "ww" || $0 == "xx" }
© www.soinside.com 2019 - 2024. All rights reserved.