Tôi có một số vấn đề với phân tích JSON. Khi tôi nhấn URL, tôi đã có JSON phản ứng như thế này:Cách phát hiện đối tượng JSON/JSON Array trên XCode bằng cách sử dụng JSON-Framework
//JSON 1
{ "data":
{"array":
["3",
{"array":
[
{"id":"1","message":"Hello","sender":"inot"},
{"id":"2","message":"World","sender":"inot"},
{"id":"3","message":"Hi","sender":"marza"}
]
}
]
},
"message":"MSG0001:Success",
"status":"OK"
}
Nhưng nếu kết quả của dữ liệu chỉ là 1, phản ứng JSON là như thế này:
//JSON 2
{ "data":
{"array":
["3",
{"array":
{"id":"3","message":"Hi","sender":"marza"}
}
]
},
"message":"MSG0001:Success",
"status":"OK"
}
tôi thực hiện mã này vào nhận giá trị id, tin nhắn và người gửi và hoạt động tốt trên JSON 1, nhưng lỗi trên JSON 2. Tôi sử dụng JSON-Framework. Và câu hỏi là làm thế nào để phát hiện ra rằng phản ứng JSON là đối tượng ({}) hoặc mảng ([]) ??
// 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(@"id = %@",[item objectForKey:@"id"]);
NSLog(@"message = %@",[item objectForKey:@"message"]);
NSLog(@"sender = %@",[item objectForKey:@"sender"]);
}
Cảm ơn bạn Michael Kessler, nó hoạt động ngay bây giờ. – inot
@inot, bạn được chào đón nhiều hơn để đánh dấu câu trả lời là được chấp nhận nếu nó giải quyết được vấn đề của bạn. –