我試圖從nsdata類中獲取值並且不起作用。如何從xcode 4.2中的nsstring或byte獲取JSON數組數據?
這裏是我的JSON數據。
{
"count": 3,
"item": [{
"id": "1",
"latitude": "37.556811",
"longitude": "126.922015",
"imgUrl": "http://175.211.62.15/sample_res/1.jpg",
"found": false
}, {
"id": "3",
"latitude": "37.556203",
"longitude": "126.922629",
"imgUrl": "http://175.211.62.15/sample_res/3.jpg",
"found": false
}, {
"id": "2",
"latitude": "37.556985",
"longitude": "126.92286",
"imgUrl": "http://175.211.62.15/sample_res/2.jpg",
"found": false
}]
}
,這裏是我的代碼
-(NSDictionary *)getDataFromItemList
{
NSData *dataBody = [[NSData alloc] initWithBytes:buffer length:sizeof(buffer)];
NSDictionary *iTem = [[NSDictionary alloc]init];
iTem = [NSJSONSerialization JSONObjectWithData:dataBody options:NSJSONReadingMutableContainers error:nil];
NSLog(@"id = %@",[iTem objectForKey:@"id"]);
//for Test
output = [[NSString alloc] initWithBytes:buffer length:rangeHeader.length encoding:NSUTF8StringEncoding];
NSLog(@"%@",output);
return iTem;
}
我怎麼能在JSON訪問的每一個值?請幫幫我。
什麼不起作用? 'buffer'從哪裏來? – Mundi
如果你正在解析JSON,爲什麼不使用SBJsonParser。它將以簡單的數據結構幫助您獲得所需的一切。或者是否有任何問題中您缺少的一點。 –
緩衝區來自inputStream。我想從緩衝區獲取數據來自服務器,類型爲JSON,如上所示。我不想使用任何其他庫。我正在使用ARC,有時ARC不允許將庫轉換爲ARC代碼。 – user1471568