iOS从json字符串中获取json对象
Posted
技术标签:
【中文标题】iOS从json字符串中获取json对象【英文标题】:iOS fetching json object from json string 【发布时间】:2017-01-02 07:12:09 【问题描述】:@"SaveRegistrationIDResult" : @"\"Table\":[\"Return_Code\":1,\"Return_Message\":\"ALREADY REGISTERED\"]"
我发现无法从此 json 字符串中获取数据。
我正在使用此代码将表 Table Object 作为 NSDictionary 获取。
NSMutableDictionary *jsonData = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSData *processedJsondata = [jsonData objectForKey:@"SaveRegistrationIDResult"];
但是我尝试的所有操作都会出错。
我想从 Table 数组 ('Return_Code') 中获取数据并将其打印到日志中。
【问题讨论】:
您在尝试上述代码时遇到了什么错误? 您提供的第一个代码块不是有效的 JSON。data
变量的值是多少?
【参考方案1】:
您正在获取 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);
【讨论】:
【参考方案2】:Lion 的评论奏效了。 这就是我获取价值的方式。欢迎任何优化。
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);
【讨论】:
我没有评论!这是一个答案:)以上是关于iOS从json字符串中获取json对象的主要内容,如果未能解决你的问题,请参考以下文章
怎样从java后台获取json字符串并转换为json对象输出
怎样从java后台获取json字符串并转换为json对象输出?