Здравствуйте!
Задачи такие: от 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. Не быстро в рантайме, но просто в изготовлении. Меня пока устраивает.
Может ещё что-нибудь посоветуете?
Здравствуйте, Marty, Вы писали:
M>Здравствуйте!
M>Может ещё что-нибудь посоветуете?
в твиттере попалась либа, сам ещё не смотрел, но может быть что-то интересное
https://github.com/kamchatka-volcano/figcone
Здравствуйте, wl., Вы писали:
M>>Может ещё что-нибудь посоветуете?
wl.>в твиттере попалась либа, сам ещё не смотрел, но может быть что-то интересное https://github.com/kamchatka-volcano/figcone
Да попадается-то много чего, всё самому смотреть — смотрелка отвалится
Комменты в JSON обычно делаются так:
{
"comment": "Hello"
}
Здравствуйте, vsb, Вы писали:
vsb>Комменты в JSON обычно делаются так:
vsb>vsb>{
vsb> "comment": "Hello"
vsb>}
vsb>
Отстой.
Я хочу нормальные комменты — // и /**/
Здравствуйте, 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
Здравствуйте, 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?