Создать структуру JSON на основе входных переменных

У меня есть следующий файл 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 с этими измерениями? Можно / нужно ли это сделать с классы?

Пожалуйста, обратите внимание на следующее

  1. Значение outer_size всегда должно быть равно количеству length_XX-спецификации (в приведенном выше примере 2). Если это 3, нам нужно будет указать length_three тоже.
  2. Конкретные значения a_one, a_ two и т.д … может быть что угодно для этого примера. Теперь моя главная задача — просто построить базовую структуру.
  3. Я использую библиотеку JSON от Nlohmann для чтения исходного файла JSON.

-1

Решение

Без использования какой-либо библиотеки 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.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]