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: