嵌套的for-in循环搜索JSON数据以进行字符串匹配Swift

时间:2016-07-27 02:50:09

标签: json swift for-loop

我很难找到一种循环JSON数据的方法来查找字符串匹配。我在每行中有超过90个值,所以我不想使用我已注释掉的行[“”]方法。

我收到错误:输入'Element'(又名'AnyObject')不符合协议'SequenceType'。

所以我认为这是因为JSON数据不适用于 “for(key,value)in row”我正在使用的方法。我所有的搜索都建议使用row [“”]。

非常感谢任何帮助!

func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
    for row in result {
        for (key,value) in row {
            //let value = row["city"] as! String
            if value.lowercaseString.containsString(searchText.lowercaseString){
                print("\(value) matches \(searchText)")
            }
        }
    }
}

数据片段(开头和结尾):

{
0 = 469347;
1 = 20;
10 = "2015-09-16";
11 = "2015-09-18";
12 = 1;
13 = 6;
14 = "$250 free fuel against receipts";
15 = "";

....

transmission = Manual;
tv = 0;
"tyre_preassure" = "";
"unique_key" = 98fd557e5988ea0d66cfaf9cf2742789;
"vehicle_type" = "3 Berth Hitop";
"vehicle_type_id" = 219;
"waste_water" = "";
width = "";
year = "";
}
{
...
}

1 个答案:

答案 0 :(得分:0)

假设您的字典仅包含String的每个键值,我认为您不需要嵌套循环来执行此操作。试试这个

        for (key,value) in result {
            let myString = value as! String
            if myString.lowercaseString.containsString(searchText.lowercaseString){
                print("\(myString) matches \(searchText)")
            }
        }