Objective c Objective的JSON解析

Objective c Objective的JSON解析,objective-c,json,xcode,Objective C,Json,Xcode,如何从下面的JSON数据中获取详细数据? 我用了Objective-C { "success" : "Y" "data": [ { "insertId": "1", } ] "err" : "" } 您需要的确切数据 如果你得到了回应,那就把回应写进去 NSDictionary *data = [NSJSONSerialization JSONObjectWithData: [responseString dataUsingEncoding:NS

如何从下面的JSON数据中获取详细数据? 我用了Objective-C

{
  "success" : "Y"
  "data": [
    {
      "insertId": "1",
    }
  ]
  "err" : ""
}

您需要的确切数据

如果你得到了回应,那就把回应写进去

  NSDictionary *data = [NSJSONSerialization JSONObjectWithData: [responseString dataUsingEncoding:NSUTF8StringEncoding] options:0 error:&error];
有关数据:

   NSArray *array=[dictionary objectforKey:@"data"];
得到数组[{“insertId”:“1”,}]


您将得到数组{“insertId”:“1”}

中的字典,我将为您提供详细的解决方案

首先,当您得到响应检查时,不管它是从数组还是字典开始

id jsonRes = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
我检查了你的回答。它从字典开始。如果你还有一些疑问,请检查以下条件。然后使用键从回答中获得结果

if([jsonRes isKindOfClass:[NSDictionary class]]){
        NSDictionary *dictRes = [jsonRes copy];
        NSString *strSuccess = [dictRes objectForKey:@"success"];
        NSString *strError = [dictRes objectForKey:@"err"];
        NSString *strInsertedId = [[[dictRes objectForKey:@"data"]objectAtIndex:0] objectForKey:@"insertId"];

        NSLog(@"The Success is - %@",strSuccess);
        NSLog(@"Error is - %@",strError);
        NSLog(@"Inserted id is - %@",strInsertedId);
    }
else {
        NSLog(@"The response starts with array");
}
下面我手动尝试了您的代码,效果很好。我使用字符串创建了json,并检查了结果

NSString *strJson = @"{ \"success\": \"Y\", \"data\": [{\"insertId\": \"1\" }],\"err\": \"\"}" ;
NSError *jsonError;
NSDictionary *dictRes =  [NSJSONSerialization JSONObjectWithData: [strJson dataUsingEncoding:NSUTF8StringEncoding] options:kNilOptions error:&jsonError];
NSLog(@"The response are - %@",dictRes);
NSString *strSuccess = [dictRes objectForKey:@"success"];
NSString *strError = [dictRes objectForKey:@"err"];
NSString *strInsertedId = [[[dictRes objectForKey:@"data"]objectAtIndex:0] objectForKey:@"insertId"];

NSLog(@"The Success is - %@",strSuccess);
NSLog(@"Error is - %@",strError);
NSLog(@"Inserted id is - %@",strInsertedId);
输出结果为


cw park的可能副本请尝试我的代码。它工作正常。请不要发布这些可怕问题的答案。你所做的一切就是在这个网站上鼓励不好的问题。取而代之的是,投票结束这个问题,并把你的努力放在显示他们自己努力的问题上。
NSString *strJson = @"{ \"success\": \"Y\", \"data\": [{\"insertId\": \"1\" }],\"err\": \"\"}" ;
NSError *jsonError;
NSDictionary *dictRes =  [NSJSONSerialization JSONObjectWithData: [strJson dataUsingEncoding:NSUTF8StringEncoding] options:kNilOptions error:&jsonError];
NSLog(@"The response are - %@",dictRes);
NSString *strSuccess = [dictRes objectForKey:@"success"];
NSString *strError = [dictRes objectForKey:@"err"];
NSString *strInsertedId = [[[dictRes objectForKey:@"data"]objectAtIndex:0] objectForKey:@"insertId"];

NSLog(@"The Success is - %@",strSuccess);
NSLog(@"Error is - %@",strError);
NSLog(@"Inserted id is - %@",strInsertedId);