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')中获取数据并将其打印在日志中。
答
你得到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
你在尝试上面的代码时得到了什么错误? – vaibhav
您提供的第一个代码块不是有效的JSON。数据变量的值是什么? – yaakov