Я использую jsoncpp для чтения и записи файлов json.
Для записи я использую StyledWriter, который записывает json в удобном для человека виде.
В настоящее время я пытаюсь записать массив целых чисел в файл json. В документации описаны следующие правила записи значения массива:
- если пусто, то выведите [] без отступа и разрыва строки
- если массив не содержит значения объекта, пустой массив или какие-либо другие типы значений, и все значения помещаются в одну строку, то выведите массив в одну строку.
- в противном случае, если значения не помещаются в одну строку, или массив содержит объект или непустой массив, то выведите одно значение на строку.
Поскольку массив, который я пытаюсь написать, слишком велик для одной строки, согласно приведенным выше правилам, писатель печатает его по одному значению в строке, что делает мой json уродливым и менее читаемым. Я бы предпочел записать весь массив в одну строку или в несколько строк с несколькими значениями в строке.
Я знаю о том, что jasoncpp имеет открытый исходный код, и поэтому я могу изменить автора, чтобы он делал то, что хочу, но мне интересно, есть ли другой способ сделать это. Возможно, используя как FastWriter (который создает однострочный json), так и StyledWriter?