我需要解析一个JSON,它在一个数组中包含两个字典。两个词典具有相同的键。我该如何正确解析它们。 这是JSON:
{
"your_ip": "131.49.768.11",
"list": [
{
"state": {
"speaker": "false",
"the_new_ip": "192.168.1.1"
},
"address": "cc: d2"
},
{
"state": {
"mic": "false",
"the_new_ip": "192.168.1.5"
},
"address": "e0: b2"
}
],
"error_code": 0
}
这是我解析它的方式:
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:self.receivedData options:kNilOptions error:&error];
NSArray *array = [json valueForKey:@"list"];
for(NSDictionary *dict in array) {
NSDictionary *newDict = [dict valueForKey:@"state"];
NSLog(@"dict %@", newDict);
NSString *IP = [NSString stringWithFormat:@"%@", [newDict objectForKey:@"the_new_ip"]];
NSString *theUrl = [NSString stringWithFormat:@"%@", IP];
NSLog(@"ip %@", theUrl);
从NSLog我得到两个不同的IP(一个来自第一个字典,另一个来自第二个)。这是正确的方法吗?如果是,我如何保存我得到的两个IP的NSString? NSUserdefaults只保存其中一个。 谢谢。