iOS从json字符串中获取json对象

iOS从json字符串中获取json对象

问题描述:

@"SaveRegistrationIDResult" : @"{\"Table\":[{\"Return_Code\":1,\"Return_Message\":\"ALREADY REGISTERED\"}]}" 

我发现从这个json字符串中获取数据是不可能的。iOS从json字符串中获取json对象

我正在使用此代码将表格对象作为NSDictionary获取。

NSMutableDictionary *jsonData = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];   
NSData *processedJsondata = [jsonData objectForKey:@"SaveRegistrationIDResult"]; 

但我得到错误的一切,我尝试未来。

我想从Table数组('Return_Code')中获取数据并将其打印在日志中。

+0

你在尝试上面的代码时得到了什么错误? – vaibhav

+0

您提供的第一个代码块不是有效的JSON。数据变量的值是什么? – yaakov

你得到JSON字符串,所以你可以解析它像,

id jsonString = @"{\"Table\":[{\"Return_Code\":1,\"Return_Message\":\"ALREADY REGISTERED\"}]}"; // or [yourDictionary objectForKey : @"SaveRegistrationIDResult"]; 

    NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; 
    id jsonObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 

现在你可以从上面的物体,像得到任何键的值,

NSArray *arr = [jsonObject objectForKey : @"Table"]; 

    NSLog(@"your result : %@", arr); 

狮子的评论工作。 这就是我提取价值的方式。任何优化欢迎。

NSMutableDictionary *jsonData = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; 

     NSString *processedJsondata = [jsonData objectForKey:@"SaveRegistrationIDResult"]; 

     NSData *tableData = [processedJsondata dataUsingEncoding:NSUTF8StringEncoding]; 

     NSDictionary *tableJsonObject = [NSJSONSerialization JSONObjectWithData:tableData options:0 error:nil]; 
     NSArray *tableArray = [tableJsonObject objectForKey:@"Table"]; 
     NSDictionary *tableObject = [tableArray objectAtIndex:0]; 
     NSString *reposnseCode = [tableObject objectForKey:@"Return_Message"]; 


     NSLog(@"%@",reposnseCode); 
+3

我还没有评论!这是一个答案:) – Lion