Я просто играю с парсером JSON в iOS, он отлично работает в качестве (простого) примера.Но мне было интересно, как можно было бы на самом деле разобрать что-то (немного) более сложное, тенденции JSON в Твиттере, например:
{
"trends": {
"2011-03-13 11:42:17": [
{
"events": null,
"query": "Fukushima",
"promoted_content": null,
"name": "Fukushima"
},
{
"events": null,
"query": "Rebecca Black",
"promoted_content": null,
"name": "Rebecca Black"
},
{
"events": null,
"query": "Pearl Harbour",
"promoted_content": null,
"name": "Pearl Harbour"
},
...
{
"events": null,
"query": "Magdalena Neuner",
"promoted_content": null,
"name": "Magdalena Neuner"
}
]
},
"as_of": 1300016537
}
Как можно было бы просто вернуть первые 3 запроса?в данном случае: Фукусима , Ребекка Блэк и Перл-Харбор .
Используя пример кода, он выглядит примерно так:
for (int i = 0; i < [luckyNumbers count]; i++)
[text appendFormat:@"%@\n", [luckyNumbers objectAtIndex:i]];
Это для намного более простой подачи, хотя, можно ли к ней подходить так же, как я ищу?
РЕДАКТИРОВАТЬ
Я сейчас пытаюсьчтобы вернуть значение «запроса»:
Итак, я делаю это:
NSLog(@"%@", [[luckyNumbers objectForKey:@"trends"]);
Это, конечно, регистрирует содержимое ключа «тренд», как мне вернутьсяне только первый (и единственный) ключ трендов, но и копать еще один уровень вниз, чтобы вернуть содержимое «запроса» ??
Я также пробовал что-то вроде этого:
NSString *date = [[[luckyNumbers valueForKeyPath:@"trends"] allKeys] description];
NSArray *trends = [luckyNumbers objectForKey:@"trends"];
NSLog(@"%@", [trends valueForKeyPath:date]);
но не уходи ...