2
我正在编写一个Objective C/iOS模块来使用Stig Brautaset的JSON库将文本文件解析为JSON字典。数组可以是顶级JSON对象吗? (在目标C中,Stig Brautaset的库)
是否有一种简单的方法将单个JSON文件解析为字典对象数组,还是必须创建单个字典对象并将不同的对象拉出来?
作为背景我目前使用多个文件,每个对象一个。我的JSON文件看起来是这样的:
{
"colorname": "red",
"foos": [
{
"type": "cherry",
"category": "fruit"
},
{
"type": "redvines",
"category": "bar"
}
]
}
{
"colorname": "green",
"foos": [...]
}
{
"colorname": "blue",
"foos": [...]
}
等
我的解析函数是这样的:
NSMutableArray *fooColors = [[[NSMutableArray alloc] init] autorelease]
for (NSString *thisFile in fileList) {
NSString *entireFile = [NSString stringWithContentsOfFile:thisFile
encoding:NSUTF8StringEncoding
error:nil];
NSDictionary *fooList = (NSDictionary*)[entireFile JSONValue];
[fooColors addObject:dataObject];
}
但我宁愿所有的JSON对象在一个单一的文件。我会像这样在单个顶级字典中做这些吗?
{
"colors": [
{
"colorname": "red",
"foos": [
{
"type": "cherry",
"category": "fruit"
},
{...}
]
},
{"colorname": "green",
"foos":[...]
},
{"colorname": "blue",
"foos":[...]
},
*etc.*
]
}
是否有一个更简单的分配与JSON文本的前两个和最后两行,并在它读成字典对象的数组的方式?如果是这样,解析函数会是什么样子?
如果这是一个新手问题,请提前道歉。