如何从格式为{key:value}的JSON对象获取值?

时间:2016-04-26 07:40:39

标签: ios objective-c json

我的API返回以下格式的响应---

while

*问题是我可以解析"用户"但无法解析"联系"并且无法获得关键的ContactID *

的价值

2 个答案:

答案 0 :(得分:0)

你可以像这样解析

//Contact = "{ContactID:1172588}";

NSString *contactid =   yourDic[@"Contact"][@"ContactID"];

/ **************更详细的代码********* /

NSDictionary *contactIdDic = [NSDictionary dictionaryWithObjectsAndKeys:@"1172588",@"ContactID", nil];

NSDictionary *contactDic = [NSDictionary dictionaryWithObjectsAndKeys:contactIdDic,@"Contact", nil];

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:contactDic options:kNilOptions error:nil];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"output:%@",jsonString);//output: {"Contact":{"ContactID":"1172588"}}

NSString *contactid =   contactDic[@"Contact"][@"ContactID"];
NSLog(@"contactid = %@",contactid); //output = 1172588

答案 1 :(得分:0)

您无法解析联系人,因为在逗号中您没有有效的JSON。我想你试图把它解析为JSON。

您可以通过在“联系人”值中的任何字词中添加逗号来更正它:

 Contact = "{\"ContactID\":1172588}";