如何在SwiftyJSON中过滤JSON字典

时间:2015-08-16 17:03:44

标签: swift swifty-json

我使用SwiftyJSON获取列表并将其打印到TableView。 我的问题是我无法过滤这个字典,我试图制作一个for循环来删除不需要的元素(甚至推送一个新元素),但我找不到删除或推送元素的方法使用SwiftyJSON提供的JSON类型。

var FilteredTripList:JSON = TripsList
for (key: String, Trip: JSON) in TripsList {
    if String(stringInterpolationSegment: Trip["TripFrom"]) != SearchFilter["From"]!
    || String(stringInterpolationSegment: Trip["TripTo"]) != SearchFilter["To"]! {
            // I'm hoping for something like the line below
            // FilteredTripList[key.toInt()!].remove()
        }
    }
}

4 个答案:

答案 0 :(得分:0)

我不认识swifty json,因为我总是使用NSJSONSerialization的原生方式...所以我必须猜测

请更改此行

FilteredTripList[key.toInt()!].remove()

到这一行

FilteredTripList.removeValueForKey(key)

写下我发生的事情

答案 1 :(得分:0)

尝试这样的事情:

FilteredTripList.dictionaryObject?.removeValueForKey(key.toInt()!)

它应该有用。

答案 2 :(得分:0)

对我来说,过滤[JSON]的最佳方法就是这样做:

        self.places = self.locals.filter({ (json) -> Bool in
            return json["monthlyPurchasesLocalCount"].intValue > 0;
        });

答案 3 :(得分:0)

如果您使用的是SwiftyJSON,请尝试使用以下代码段

它对我来说很完美。经过多次尝试,我得到了它。

getAPITest():Observable<any>{
const headers = new HttpHeaders({'Content-Type':'application/json; charset=utf-8','-u':'??????'});
return this.http.get('https://myRESTFULL_API_URL', {headers:headers})}

注意:jobj应为.arrayValue,否则无法正常工作。