如何从JSON数组获取值

时间:2017-06-08 08:50:08

标签: ios objective-c iphone xcode

我是否知道如何以下面的代码格式从JSON获得响应值?目前我正在使用这种方式,但它对我不起作用

我用什么来获取JSON值:

NSError * err2 = nil;
NSArray* json = [NSJSONSerialization JSONObjectWithData:responseData
                                                options:0
                                                  error:&err2];

NSMutableDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableContainers error:nil];

我想获得的JSON值:

 [
          {
            "Status": 1,
            "NearuCode": "17060521957",
            "ParcelBox": "Thursday"
          },
          {
            "Status": 1,
            "NearuCode": "17060521957",
            "ParcelBox": "Thursday"
          }
        ]

2 个答案:

答案 0 :(得分:2)

您的JSON响应Array而非Dictionary也在您的回复中,数组中的对象都具有相同的数据。

NSMutableArray *jsonObject = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableContainers error:nil];
for (NSDictionary *dic in jsonObject) {
     NSLog(@"%@", dic[@"Status"])
     NSLog(@"%@", dic[@"NearuCode"])
     NSLog(@"%@", dic[@"ParcelBox"])
}

答案 1 :(得分:0)

我给你解决方案,当你得到空的结果时,它会解释你的错误描述。

NSError * err2 = nil;
NSArray* json = [NSJSONSerialization JSONObjectWithData:responseData
                                            options:0
                                              error:&err2];
if (err2)
{
     NSLog(@"The reason for the error is - %@",[err2 description]);
}