2

このjsonをNSJSONSerializationで変換するにはどうすればよいですか?

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

2 に答える 2

5
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
}
于 2012-12-14T16:19:01.973 に答える
1

新しいリテラル構文の例:

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 出力:

dit: { メッセージ = { メッセージ = { パス = 値; URL = 値; ユーザー = 値; }; }; }

同上: メッセージ: メッセージ: ユーザー = 値

于 2012-12-14T17:18:56.667 に答える