Как к парсингу JSON возражают в iPhone SDK (XCode) с помощью JSON-платформы

У меня есть объект JSON как это:

{ "data":
  {"array":
    ["2",
       {"array":
          [
            {"clientId":"1","clientName":"Andy","job":"developer"},
            {"clientId":"2","clientName":"Peter","job":"carpenter"}
          ]
        }
     ]
   },
 "message":"MSG0001:Success",
 "status":"OK"
}

Я хочу получить массив [0] значение (2) и массив [1] значение (clientId, имя клиента, задание) использование JSON-платформы. У Вас есть какая-либо идея, как сделать это?

8
задан inot 2 July 2010 в 00:36
поделиться

2 ответа

Предполагая, что вы следовали инструкциям по установке JSON-Framework в свой проект, вот как вы его используете (взято из документации здесь ):

// Parse the string into JSON
NSDictionary *json = [myString JSONValue];

// Get the objects you want, e.g. output the second item's client id
NSArray *items = [json valueForKeyPath:@"data.array"];
NSLog(@" client Id : %@", [[items objectAtIndex:1] objectForKey:@"clientId"]);
21
ответ дан 3 November 2019 в 13:35
поделиться

спасибо за ответ, моя проблема решена, я немного изменил ваш код, вот:

// Parse the string into JSON
NSDictionary *json = [myString JSONValue];

// Get all object
NSArray *items = [json valueForKeyPath:@"data.array"];
NSArray *array1 = [[items objectAtIndex:1] objectForKey:@"array"];
NSEnumerator *enumerator = [array1 objectEnumerator];
NSDictionary* item;
while (item = (NSDictionary*)[enumerator nextObject]) {
   NSLog(@"clientId = %@",  [item objectForKey:@"clientId"]);
   NSLog(@"clientName = %@",[item objectForKey:@"clientName"]);
   NSLog(@"job = %@",       [item objectForKey:@"job"]);
}
6
ответ дан 3 November 2019 в 13:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: