Создать структуру 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.

Другие вопросы по тегам