Не удается получить доступ к внутренним узлам в сообщении JSON - IOS - PullRequest
0 голосов
/ 30 марта 2012

Я пытаюсь получить доступ к узлу "узел" для этого сообщения JSON:

{
   "nodes": [
      {
         "node": {
            "title": "Jornada del Fútbol Profesional contra el hambre",
            "description": "
             "image": "",
            "fecha": "",
            "nid": "",
            "noticia_relacionada_1_path": "",
            "noticia_relacionada_2_path": "",
            "image_small_2": ""
         }
      }
   ]
}

С этим кодом:

NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];    

NSDictionary *results = [responseString JSONValue]; 

NSDictionary *nodes = [results objectForKey:@"nodes"];

словарь результатов имеет 1 ключевой результат. Словарь узлов имеет 10 ключей результата. Но когда я пытаюсь получить доступ к узлу со всеми этими опциями, я не получаю результатов:

NSString *node = [nodes valueForKey:@"node"];

NSArray *nodeArray = [nodes objectForKey:@"node"];

NSDictionary *nodeDic = [nodes objectForKey:@"node"];

Большое спасибо

1 Ответ

3 голосов
/ 30 марта 2012

Объект, который вы извлекаете с помощью

NSDictionary *nodes = [results objectForKey:@"nodes"];

, не является словарем, это массив словарей, каждый из которых содержит одну запись с ключом "узел".Чтобы получить первый узел:

NSArray *nodes = [results objectForKey:@"nodes"];

NSDictionary firstNodeDict = [[nodes objectAtIndex: 0] objectForKey: @"node"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...