0

我从服务器获取了许多 JSON 值,我想解析 JSON 数据并根据单个 KEY 的值过滤它们。JSON 值有点像

[{"id":8,"name":"General","visible":1,"summary":"","summaryformat":1,"modules":""},{"id":9,"name":"section01","visible":0,"summary":"","summaryformat":1,"modules":""}]

在上面的 JSON 值中,我想将值与键“可见”分开

如果可见 = 0,我想存储它们,如果可见 = 1,我不应该将值存储在数组中。

需要一些帮助。

4

1 回答 1

1
NSMutableArray *jsonArray = [[NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &e] mutableCopy];

jsonArray = [jsonArray filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
    return [evaluatedObject[@"visible"] intValue] == 1;
}];

我是盲打的,所以我不知道这在语法上是否正确

关键是首先你必须实例化NSArraythroughNSJSONSerialization类。然后,您可以使用NSPredicate仅检查visible包含NSDictionaryNSArray

你也可以用普通NSPredicate而不是块来做到这一点,但我发现块更简单:)

于 2013-09-05T14:36:57.580 回答