【发布时间】:2016-05-01 17:33:29
【问题描述】:
我有 JSON 数据
{"respcode":0,"policyid":"1731958","Insuredid":"5625869"}
如何使用解析在单个变量中获取 respcode、policyid 和 Insuredid。
【问题讨论】:
标签: ios objective-c json
我有 JSON 数据
{"respcode":0,"policyid":"1731958","Insuredid":"5625869"}
如何使用解析在单个变量中获取 respcode、policyid 和 Insuredid。
【问题讨论】:
标签: ios objective-c json
试试下面的代码:
NSString* path = [[NSBundle mainBundle] pathForResource:@"JSON" ofType:@"json"];
NSString* jsonString = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
NSData* jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSDictionary *responseDictionary = [NSJSONSerialization
JSONObjectWithData:jsonData
options:0
error:&error];
if(! error) {
NSString *insuredId = [responseDictionary objectForKey:@"Insuredid"];
NSString *policyid = [responseDictionary objectForKey:@"policyid"];
NSString *respcode = [responseDictionary objectForKey:@"respcode"];
NSLog(@"insuredId : %@ & policyid : %@ & respcode : %@",insuredId,policyid,respcode);
} else {
NSLog(@"Error in parsing JSON");
}
//JSON.json
{"respcode":0,"policyid":"1731958","Insuredid":"5625869"}
【讨论】:
已编辑如果您的 JSON DATA 已经是字典,您可以使用以下方式访问它们:
NSLog(@"%@",jsonData[@"respcode"]); // 0
NSLog(@"%@",jsonData[@"policyid"]); // 1731958
NSLog(@"%@",jsonData[@"Insuredid"]); // 5625869
我希望这可以帮助你。如果没有,请告诉我有关您的代码的更多信息,以便我尝试更好的答案。
【讨论】:
responseObject 已经是字典,为什么还要创建一个新字典? responseObject 是什么?您的回答遗漏了许多相关细节。你甚至不知道 OP 有什么。他们可能只有一个字符串。他们可能已经将 JSON 解析为字典,但不知道如何从字典中获取值。