我尝试根据状态显示数据库

I have try to display data base on status

我收到了 json 回复,我必须只显示那些状态 = 1 的数据,所以我该怎么做,请帮助我

我的回复是

JSON: (
        {
        name = "Kate Bell";
        phone = "(555) 564-8583";
        status = 0;
    },
        {
        name = "Daniel Higgins";
        phone = "(408) 555-5270";
        status = 0;
    },
        {
        name = "John Appleseed";
        phone = "888-555-5512";
        status = 0;
    },
        {
        name = "Anna Haro";
        phone = "<null>";
        status = 1;
    },
        {
        name = "Hank Zakroff";
        phone = "<null>";
        status = 1;
    },
 }

使用谓词获取状态为 1 的过滤数组

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"status = %d", 1]; 
NSArray *arrFilter = [YourWholeArray filteredArrayUsingPredicate:predicate];
NSLog(@"array with status 1 ->%@",arrFilter);

根据该假设,您的 JSON 响应以数组

开头

如果您确实需要 JSON 的字符串,可以通过查看 operation.responseString 获得。

我的答案来自here

responseObject 是 NSArray 或 NSDictionary。您可以在运行时使用 isKindOfClass::

检查
if ([responseObject isKindOfClass:[NSArray class]]) {
    NSArray *responseArray = responseObject;
    /* do something with responseArray */
     NSPredicate *predi = [NSPredicate predicateWithFormat:@"status = 1"]; 
NSArray *newarray = [responseArray filteredArrayUsingPredicate:predi];


} else if ([responseObject isKindOfClass:[NSDictionary class]]) {
    NSDictionary *responseDict = responseObject;
    /* do something with responseDict */

     NSArray *responseArray = responseDict[@"yourrootKeyname"];

     NSPredicate *predi = [NSPredicate predicateWithFormat:@"status = 1"]; 
NSArray *newarray = [responseArray filteredArrayUsingPredicate:predi];
}