在NSArray中过滤和存储JSON值

时间:2013-09-05 14:31:44

标签: json

我从服务器获取了许多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值我希望将值分别与键#34;可见"

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

需要一些帮助。

1 个答案:

答案 0 :(得分: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;
}];

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

重点是首先必须实例化NSArrayNSJSONSerialization类。 然后,您可以使用NSPredicate对其进行过滤,只需检查visible

中包含的NSDictionary的{​​{1}}属性

您也可以使用普通NSArray而不是块来执行此操作,但我发现块更简单:)