【问题标题】:iOS fetching json object from json stringiOS从json字符串中获取json对象
【发布时间】: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 变量的值是多少?

标签: ios objective-c json


【解决方案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);
    

    【讨论】:

    • 我没有评论!这是一个答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    • 2015-07-30
    • 1970-01-01
    相关资源
    最近更新 更多