【发布时间】:2013-02-07 22:47:59
【问题描述】:
我正在尝试解析这个 json,但不确定是否解析它,因为“vis-progress-control”之类的键可能会改变,我正在尝试构建一个解析这种 json 类型的通用代码。我确信“类型”键将出现在 json 结构中。
NSDictionary *dict = [sData JSONValue];
NSArray *items = [dict valueForKeyPath:@"assets"];
NSLog(@"%@", items);
for (NSString *key in [[dict objectForKey:@"assets"]allKeys]) {
for (NSString *subKey in [[[dict objectForKey:@"assets"] objectForKey:key]allKeys]) {
NSLog(@"Value at subkey:%@ is %@\n",subKey,[[[dict objectForKey:@"assets"]objectForKey:key]objectForKey:subKey]);
}
}
我在 Github 上使用 SBJson 库。我的实际问题是当我不知道“vjs-progress-holder”键时如何访问“方向”、“度数”等? 我还有一个嵌套在小部件数组中的小部件数组。我如何也获得这些值?
【问题讨论】:
-
您已经将 JSON 解析为字典和数组;你还想完成什么?
-
我正在尝试获取单个元素,如颜色、边框半径、比率,而不使用“vis-progress-holder”等键这些名称可能会在新的 json 文件中更改
-
您只是想遍历资产字典中的所有内容吗?您是否尝试将其转换为某种不同的结构?
-
@Firoze 我正在尝试遍历整个资产字典,以检查“类型”,如果它的类型为“梯度”,它有一些资产,如度数、阿尔法、比率等,但如果其他类型的它说“图像”它有一些资产,如cornerRadius等,我正在尝试提出一个通用解析器
-
好吧,就@JesseRusak 而言,您已经有了一个通用的JSON 解析器。而且您已经可以打印整个资产字典。所以也许你可以多说一下你需要对每个键做什么?
标签: objective-c json nsarray