Посоветуйте либу JSON/YAML для современных плюсиков
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 26.03.22 04:23
Оценка:
Здравствуйте!

Задачи такие: от JSON'а требуется парсить постоянно запросы/ответы, поэтому он не должен быть слишком тормозным. Но также и конфиги будут парситься — нужна бы поддержка коментариев
От YAML'а требуется уметь парсить конфиги, на старте приложухи, ну, может изредка в процессе работы — т.о. быстродействие не критично.

Хочется получить единое API для обоих форматов, чтобы писать всё в едином стиле


Я поковырял https://github.com/nlohmann/json — в принципе, удобство использования мне понравилось. По скорости — https://github.com/miloyip/nativejson-benchmark — вроде тоже не плох, хотя сериализация похуже, чем разбор. Про поддержку комментов пока не понял/не ковырял.

По YAML — поковырял https://github.com/jbeder/yaml-cpp. Я его как-то раньше немного юзал, решил поковырять чуть глубже. Коменты в YAML'е — искаропки, это гут. Второй плюс — это то, что валидный JSON является также и валидным YAML'ом. Из минусов — API неудобный, использовать не понравилось. По скорости — не интересовался.


Я пока решил так — использовать везде в качестве финального АПИ — nlohmann/json. При онлайн-запросах — проблем никаких и сейчас.

Проблема — при парсинге конфигов: я же хочу ещё парсить YAML. Пока решил так — накидал сериализатор из yaml-cpp в JSON и буду его скармливать в nlohmann/json. Не быстро в рантайме, но просто в изготовлении. Меня пока устраивает.


Может ещё что-нибудь посоветуете?
Маньяк Робокряк колесит по городу
Re: Посоветуйте либу JSON/YAML для современных плюсиков
От: wl. Россия  
Дата: 01.05.22 17:48
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте!


M>Может ещё что-нибудь посоветуете?


в твиттере попалась либа, сам ещё не смотрел, но может быть что-то интересное https://github.com/kamchatka-volcano/figcone
Re[2]: Посоветуйте либу JSON/YAML для современных плюсиков
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 01.05.22 19:27
Оценка:
Здравствуйте, wl., Вы писали:

M>>Может ещё что-нибудь посоветуете?


wl.>в твиттере попалась либа, сам ещё не смотрел, но может быть что-то интересное https://github.com/kamchatka-volcano/figcone


Да попадается-то много чего, всё самому смотреть — смотрелка отвалится
Маньяк Робокряк колесит по городу
Re: Посоветуйте либу JSON/YAML для современных плюсиков
От: vsb Казахстан  
Дата: 01.05.22 21:20
Оценка:
Комменты в JSON обычно делаются так:

{
    "comment": "Hello"
}
Re[2]: Посоветуйте либу JSON/YAML для современных плюсиков
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 01.05.22 21:53
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Комменты в JSON обычно делаются так:


vsb>
vsb>{
vsb>    "comment": "Hello"
vsb>}
vsb>


Отстой.
Я хочу нормальные комменты — // и /**/
Маньяк Робокряк колесит по городу
Re: Посоветуйте либу JSON/YAML для современных плюсиков
От: AlexGin Беларусь  
Дата: 02.05.22 07:04
Оценка:
Здравствуйте, Marty, Вы писали:

M>Задачи такие: от JSON'а требуется парсить постоянно запросы/ответы, поэтому он не должен быть слишком тормозным. Но также и конфиги будут парситься — нужна бы поддержка коментариев

M>От YAML'а требуется уметь парсить конфиги, на старте приложухи, ну, может изредка в процессе работы — т.о. быстродействие не критично.

M>Хочется получить единое API для обоих форматов, чтобы писать всё в едином стиле


Единое API — это копай в сторону Qt

M>Я поковырял https://github.com/nlohmann/json — в принципе, удобство использования мне понравилось. По скорости — https://github.com/miloyip/nativejson-benchmark — вроде тоже не плох, хотя сериализация похуже, чем разбор. Про поддержку комментов пока не понял/не ковырял.


Вот ещё по JSON:
https://github.com/open-source-parsers/jsoncpp

Кстати, в версиях Qt до Qt5, возможно применение этого:
https://github.com/qt-json/qt-json
Отредактировано 02.05.2022 7:07 AlexGin . Предыдущая версия .
Re[2]: Посоветуйте либу JSON/YAML для современных плюсиков
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.05.22 15:18
Оценка:
Здравствуйте, AlexGin, Вы писали:

M>>Хочется получить единое API для обоих форматов, чтобы писать всё в едином стиле


AG>Единое API — это копай в сторону Qt


Пробовал я ваше Qt — не понравилось. И разве там есть поддержка YAML?

AG>Вот ещё по JSON:

AG>https://github.com/open-source-parsers/jsoncpp

Как бы просто название я видел. Интересен опыт использования, кто пробовал, кому что понравилось, что не понравилось.


AG>Кстати, в версиях Qt до Qt5, возможно применение этого:

AG>https://github.com/qt-json/qt-json

А можно без Qt?
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.