2013-04-20 4 views
-4

Я пытаюсь разобрать следующий ответ JSON: http://www.breakingnews.com/api/v5/items?compact=false.Исключение при чтении результата JSON

Вот мой код, чтобы разобрать его:

NSError* error = nil; 
NSData* data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.breakingnews.com/api/v5/items?compact=false"] options:NSDataReadingUncached error:&error]; 
if (error) { 
    NSLog(@"%@", [error localizedDescription]); 
} else { 

    NSError *e = nil; 
    NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData: data options:kNilOptions error: &e]; 

    if (!jsonArray) { 
     NSLog(@"Error parsing JSON: %@", e); 
    } else { 
     for(NSArray* item in jsonArray) { 

      NSLog(@"Item: %@", item); 

     } 
    } 

} 

Однако, я получаю эту ошибку:

-[__NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x101810a40

Почему это - то, что я делаю неправильно?

+0

Этот парень сделал ту же самую ошибку **. И несколько других сделали это. Вы должны искать, прежде чем спрашивать. – 2013-04-20 20:29:05

+0

@ H2CO3, я до сих пор не вижу, где я ошибаюсь? –

+0

Единственная странная вещь - предполагаемое сообщение об ошибке - я не вижу NSString в этом коде. На самом деле этот код не сбой, он просто отображает ключи словаря. Вы показывали весь соответствующий код? –

ответ

2

Проверьте типы объектов, которые используете. Вы предполагаете, что все является NSArray, когда на самом деле вещи в JSON могут быть NSArray, NSDictionary, NSString, NSNumber и NSNull.

Смежные вопросы