Здравствуйте!
Задачи такие: от 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. Не быстро в рантайме, но просто в изготовлении. Меня пока устраивает.
Может ещё что-нибудь посоветуете?