2016-03-07 5 views
0

я получил 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

вы можете показать ваш код попробовали, легко решить, в том же самом, где вы хотите, чтобы показать эти данные на основе этого состояния –

+0

я не имею ни малейшего представления о как это сделать – Birendra

+1

Где вы получаете этот json, от url? –

ответ

1

с этим предположением, ваш ответ 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]; 
} 
+0

он отображает нулевой массив – Birendra

+0

может усовершенствовать ур вопрос .. –

+0

canyou обновить код –

1

использовать предикат, чтобы получить отфильтрованный массив со статусом 1

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"status = %d", 1]; 
NSArray *arrFilter = [YourWholeArray filteredArrayUsingPredicate:predicate]; 
NSLog(@"array with status 1 ->%@",arrFilter); 
Смежные вопросы