我使用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()
}
}
}
答案 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,否则无法正常工作。