У меня есть следующие JSON объект:Разбор вложенных объектов JSON с JSON Framework для Objective-C
{
"response": {
"status": 200
},
"messages": [
{
"message": {
"user": "value"
"pass": "value",
"url": "value"
}
]
}
}
Я использую JSON-Framework (также попытался JSON Touch) для разбора через это и создать словарь. Я хочу получить доступ к блоку «сообщение» и вытащить значения «пользователь», «проход» и «URL».
В Obj-C У меня есть следующий код:
// Create new SBJSON parser object
SBJSON *parser = [[SBJSON alloc] init];
// Prepare URL request to download statuses from Twitter
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:myURL]];
// Perform request and get JSON back as a NSData object
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
// Get JSON as a NSString from NSData response
NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
//Print contents of json-string
NSArray *statuses = [parser objectWithString:json_string error:nil];
NSLog(@"Array Contents: %@", [statuses valueForKey:@"messages"]);
NSLog(@"Array Count: %d", [statuses count]);
NSDictionary *results = [json_string JSONValue];
NSArray *tweets = [[results objectForKey:@"messages"] objectForKey:@"message"];
for (NSDictionary *tweet in tweets)
{
NSString *url = [tweet objectForKey:@"url"];
NSLog(@"url is: %@",url);
}
Я могу вытащить «сообщения» и увидеть все «сообщение» блоков, но я не могу разобрать все глубже и вытащить " user "," pass "и" url ".
JSON строка неверна, то, как вы ее здесь написали. Массив сообщений имеет две открытые фигурные скобки и только одно закрытие. – Felixyz