繁体   English   中英

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

[英]How to get value from JSON object of format {key:value}?

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

".expires" = "Tue, 10 May 2016 07:07:45 GMT";

".issued" = "Tue, 26 Apr 2016 07:07:45 GMT";
Contact = "{ContactID:1172588}";
User = "{\"CreatedByUser\":\"\",\"UserID\":\"8104\",\"FirstName\":\"Rokon\",\"LastName\":\"Uddin\"}";

*问题是我可以解析“用户”但无法解析“联系人”并且无法获取关键 ContactID 的值 *

你可以这样解析

//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

您无法解析 Contact,因为在逗号中您没有有效的 JSON。 我认为您试图将其解析为 JSON。

您可以通过向 Contact 值中的任何单词添加逗号来更正它:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM