ios目标c解析json
Posted
技术标签:
【中文标题】ios目标c解析json【英文标题】:ios objective c parsing json 【发布时间】:2011-12-06 22:09:47 【问题描述】:试图解析这个 json,但似乎无法弄清楚。
description = "描述变体 1"; ID = 4; 价格 = "25.0"; , description = "变体 2 描述"; ID = 5; 价格 = "50.0"; , description = "变体 3 描述"; ID = 6; 价格 = "75.0";
这是我的代码,但我在 NSLog 上获得了 SigAbt:
- (NSMutableArray *) getVariants:(NSString *)variantJson
NSMutableArray *variants = [[NSMutableArray alloc] init];
NSLog(@"Variant JSON: %@", variantJson);
NSArray *vars = [variantJson valueForKeyPath:@"variants"];
for (id var in vars)
NSLog(@"description: %@",[var objectForKey:@"description"]);
return variants;
传入变量的json:variantJson就是上面贴出来的JSON。
【问题讨论】:
您发布的 JSON 字符串无效。您可以在jsonlint.com 检查您的 JSON 的有效性。检查其他答案以获取有关如何解析它的信息:) 【参考方案1】:ios 不会这样透明地解析 JSON;你需要通过一个实际的 JSON 解析器库来运行你的字符串,比如SBJson。 (BSD 许可)如果您的目标是 OS 5 或更高版本,您也可以使用内置的 NSJSONSerialization。
【讨论】:
【参考方案2】:那里没有解析 JSON 的代码。 Objective-C 和 Cocoa 没有用于将 JSON 字符串自动解析为对象和字典的内置机制,valueForKeyPath
用于获取符合 KVC 的 Objective-c 类的属性值(在层次结构内)。
为了获得嵌套的NSDictionary
'ies 和NSArray
's,您需要使用一些第三方库或编写自己的代码。
查看JSON page 的库列表。
【讨论】:
以上是关于ios目标c解析json的主要内容,如果未能解决你的问题,请参考以下文章