[英]json iOS parsing error
我正在尝试将以下json解析为我的iOS代码。
{
"test": [
{
"id": "21",
"lat": "53.343377977116916",
"long": "-6.2587738037109375",
"address": "R138, Dublin, Ireland",
"name": "td56",
"distance": "0.5246239738790947"
},
{
"id": "11",
"lat": "53.343377977116916",
"long": "-6.245641708374023",
"address": "68-130 Pearse Street, Dublin, Ireland",
"name": "test1",
"distance": "0.632357483022306"
}
]
}
我可以使用以下代码查看日志中的完整json:
NSURL *blogURL = [NSURL URLWithString:@"URLHERE"];
NSData *jsonData = [NSData dataWithContentsOfURL:blogURL];
NSError *error = nil;
NSDictionary *dataDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
NSDictionary *test = [dataDictionary objectForKey:@"test"];
NSLog(@"%@",dataDictionary);
如果我更改数据字典以在日志中进行测试,则可以在json的测试根目录之后显示,但是如果我尝试查看安装数组以查看ID,则整个应用程序将崩溃。
有人可以用正确的方式指导我,例如在NSLog
显示所有名称吗? 我尝试过的每种方法都导致应用程序崩溃。
测试是一个数组:
NSArray *test = [dataDictionary objectForKey:@"test"];
NSLog(@"test =%@", test);
for(NSDictionary *coordinates in test){
NSLog(@"id = %@", coordinates[@"id"]);
NSLog(@"lat = %@", coordinates[@"lat"]);
NSLog(@"long = %@", coordinates[@"long"]);
}
NSArray *array = [dataDictionary valueForKey:@"test"];
for(int i = 0; i < array.count; i++){
NSLog(@"%@", [array[i] valueForKey:@"name"]);
}
像这样,您可以获取NSLog任何您想要的ID密钥
NSLog(@"%@", [array[i] valueForKey:@"id"]);
对于拉特
NSLog(@"%@", [array[i] valueForKey:@"lat"]);
等等.....快乐的编码
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.