【问题标题】:ios5 nested json parseios5嵌套json解析
【发布时间】:2012-12-14 16:14:45
【问题描述】:

如何使用 NSJSONSerialization 转换这个 json?

{
   "messages":{
      "message":{
         "user":"value",
         "pass":"value",
         "url":"value"
      }
   }
}

【问题讨论】:

  • 好像已经是JSON了。

标签: iphone json parsing ios5 nsjsonserialization


【解决方案1】:
NSError* error;
NSDictionary *dit = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableContainers error:&error];
if (!error) {
   //Get values from this dict using respective keys
   NSDictionary *msgs = [dict objectForKey:@"messages"];
   NSDictionary *msg = [msgs objectForKey:@"message"];
   NSString *user = [msg objectForKey:@"user"];
   NSString *pass = [msg objectForKey:@"pass"];
   NSString *url = [msg objectForKey:@"url"];
}
else {
   //Your error message
}

【讨论】:

  • @InderKumarRathore 先生,你拯救了我的一天 :)
【解决方案2】:

使用新文字语法的示例:

char *jsonChars = "{\
    \"messages\":{\
        \"message\":{\
            \"user\":\"value\",\
            \"pass\":\"value\",\
            \"url\":\"value\"\
        }\
    }\
}";

NSData *responseData = [NSData dataWithBytes:jsonChars length:strlen(jsonChars)];
NSError* error;
NSDictionary *dit = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableContainers error:&error];
NSLog(@"dit: %@", dit);
NSLog(@"dit: messages:message:user = %@", dit[@"messages"][@"message"][@"user"]);

NSLog 输出:

编辑:{ 消息 = { 消息 = { 通过=价值; 网址=价值; 用户=价值; }; }; }

编辑:消息:消息:用户 = 值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多