如何在 iOS 中解析 json
Posted
技术标签:
【中文标题】如何在 iOS 中解析 json【英文标题】:how to parse json in iOS 【发布时间】:2015-02-11 03:06:04 【问题描述】:这是我从 API 接收到的 json 字符串:
"incentives_and_benefits" = "\"food\":\"0\":\"\",\"commission\":\"0\":\"\",\"uniform\":\"0\":\"\",\"transport\":\"0\":\"\",\"extras\":\"0\":\"\"";
我把它分配给字典。现在我需要获取字典中的值。 我尝试使用这里给出的解决方案:How to get values from dict
这是我目前所拥有的:
NSString *strIncentives = [[self.jobDetailDict objectForKey:@"sub_slots"] objectForKey:@"incentives_and_benefits"];
NSData *jsonData = [strIncentives dataUsingEncoding:NSUTF8StringEncoding];
NSError *e;
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:nil error:&e];
NSLog(@"DICT: %@", dict);
NSString *food = [dict objectForKey:@"food"];
NSLog(@"DICT: %@", food);
NSString *commission = [dict objectForKey:@"commission"];
NSLog(@"DICT: %@", commission);
NSString *uniform = [dict objectForKey:@"uniform"];
NSLog(@"DICT: %@", uniform);
NSString *transport = [dict objectForKey:@"transport"];
NSLog(@"DICT: %@", transport);
NSString *extras = [dict objectForKey:@"extras"];
NSLog(@"DICT: %@", extras);
现在我需要检查食物的值是 0 还是 1。当食物的值为 1 时,我需要获取 Hello 字符串并显示它。 (这只是一个例子)food: "1":"Hello"
if([food isEqualToString:@""])
//the string will be placed here
NSLog(@"FOOD Available")
当我到达 if 语句时,我得到一个错误:
[__NSCFDictionary isEqualToString:]: unrecognized selector sent to instance
我将如何解决这个问题? 请帮助并提前感谢您。
【问题讨论】:
How can I debug 'unrecognized selector sent to instance' error的可能重复 How do I parse JSON with Objective-C的可能重复 访问 json.org 并学习 JSON 语法。只需 5-10 分钟即可学会。 How to parse JSON in ios App的可能重复 【参考方案1】: if([[dict objectForKey:@"food"]isEqualToString:@“”])
NSLog(@"FOOD Available")
【讨论】:
以上是关于如何在 iOS 中解析 json的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 中解析 mapquest 地理编码 JSON