Я пишу модуль Objective C / iOS для синтаксического анализа текстовых файлов в словарях JSON с использованием библиотеки JSON Стига Браутасета.
Есть ли простой способ разбить один файл 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 и прочитать его как массив объектов словаря? Если так, то как бы выглядела функция синтаксического анализа?
Заранее извиняюсь, если это вопрос новичка.