iOS - Вложенные NSDictionaries для NSArray

Мой ответ Json:

[{"id":"1", "x":"1", "y":"2"},{"id":2, "x":"2", "y":"4"}]

И я сделал

 NSString *response = [request responseString];
 SBJSON *parser = [[SBJSON alloc] init];
 NSArray *jsonObject = [parser objectWithString:response error:nil];

На данный момент я считаю, что jsonObject является массивом, который имеет два NSDictionary.. Как я могу сделать jsonObject, который имеет два NSArray вместо NSDictionary? Каков наилучший способ сделать это? Я думаю, что мне нужно конвертировать вложенный NSDictionary в NSArray?

1 ответ

Я бы использовал класс NSJSONSerialization сейчас в рамках Foundation.

С помощью метода JSONObjectWithData он возвращает тип контейнера, в котором вы хотите хранить данные на верхнем уровне. Например:

NSError *e;

NSArray *jsonObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:&e]; 

for (NSDictionary *dict in jsonObject) {

    NSLog(@"json data:\n %@", dict); 

    // do stuff

}

Кроме того, вы можете вернуть изменяемый контейнер, такой как:

NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&e];

Вот документация Apple:

NSJSONSerialization

Другие вопросы по тегам