@"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')并将其打印在Log中。
答案 0 :(得分:3)
您正在获取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);
答案 1 :(得分:0)
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);