У меня есть следующий файл JSON:
{
"outer_size":2,
"inner_size":{
"length_one":2,
"length_two":1
}
}
Я буду использовать эту информацию для создания нового файла JSON, размеры которого определяются outer_size
, inner_size
, length_one
а также length_two
, Структура, которую я хочу создать, имеет следующую форму
[
{
"a":[
{
"a_one":1
},
{
"a_two":2
}
]
},
{
"b":[
{
"b_one":1
}
]
}
]
Эта структура содержит две «внешние» переменные a
а также b
так как outer_size=2
,
a
содержит две «внутренние» переменные a_one
а также a_two
, в то время как b
содержит одну «внутреннюю» переменную b_one
, Это потому что inner_size
равно 2 и 1 соответственно.
Вопрос На основании данного outer_size
, inner_size
, length_one
а также length_two
Каков наилучший способ для создания структуры JSON с этими измерениями? Можно / нужно ли это сделать с классы?
Пожалуйста, обратите внимание на следующее
outer_size
всегда должно быть равно количеству length_XX
-спецификации (в приведенном выше примере 2). Если это 3, нам нужно будет указать length_three
тоже.a_one
, a_ two
и т.д … может быть что угодно для этого примера. Теперь моя главная задача — просто построить базовую структуру. Без использования какой-либо библиотеки JSON, я использовал этот код для создания кода JSON «вручную».
fputs("[\n",file);
fputs("\t{\n",file);
fputs("\t\t\"a\":[\n" ,file);
fputs("\t\t {\n",file);
fprintf(file,\t\t\t\"a_one\": \"%s\",\n",functionReturningJSONValue());
Что бы напечатать что-то подобное, что вы спросили. Я не сделал это полностью, но я уверен, что вы поймете, как это работает.
Надеюсь, это вам немного помогло.
Вы все еще можете выполнить цикл для создания определенного размера JSON и входных значений с помощью fprintf.
Других решений пока нет …