Я сейчас в процессе создания своего первого приложения для iOS. В рамках этого приложения мне нужно получить некоторые данные с веб-сервера. Ниже функция является частью того, что:Преобразование ответа JSON на массив
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSLog(@"connectionDidFinishLoading");
NSLog(@"Succeeded! Received %d bytes of data",[self.responseData length]);
// convert to JSON
NSError *myError = nil;
NSDictionary *res = [NSJSONSerialization JSONObjectWithData:self.responseData options:NSJSONReadingMutableLeaves error:&myError];
// show all values
for(id key in res) {
id value = [res objectForKey:key];
NSString *keyAsString = (NSString *)key;
NSString *valueAsString = (NSString *)value;
NSLog(@"key: %@", keyAsString);
NSLog(@"value: %@", valueAsString);
}
}
Это идет через данные JSON, которые он распаковывает (Вы можете увидеть пример данных ниже). Тем не менее, для того, чтобы я мог представить его в виде таблицы, мне нужно преобразовать его в NSArray
. Как это:
self.array = [[NSArray alloc] initWithObjects:
@"Always put your fears behind you and your dreams in front of you.",
@"A relationship with no trust is like a cell phone with no service, all you can do is play games.",
@"People should stop talking about their problem and start thinking about the solution.",
@"Dear Chuck Norris, Screw you. I can grill burgers under water. Sincerely, Spongebob Squarepants.",
@"My arms will always be open for you, they will never close, not unless you're in them.",
nil];
И как было обещано, это данные с сервера - ответ JSON:
{"data": "[
{"TVShow1":"Dexter", "Episodes":"125"},
{"TVShow2":"Boardwalk Empire", "Episodes":"54"},
{"TVShow3":"Fargo", "Episodes":"10"},
{"TVShow1":"The Sopranos", "Episodes":"11"}
]"}
Как я могу изменить, что на NSArray
?
Почему вы ** нуждаетесь **, чтобы преобразовать его в массив? Вы определенно можете ** использовать ** NSDictionary' для заполнения табличного представления, не так ли? В любом случае, какова даже связь между двумя отрывками, которые вы опубликовали? Кажется, что нет ... –