Не так давно я участвовал в проекте написания прошивки для некоторого устройства. В процессе работы возник вопрос, а как, собственно, взаимодействовать с «большим братом» (управляющим компьютером)? Поскольку в качестве «большого брата» закладывались совершенно разные устройства (различные смартфоны, планшеты, ноутбуки с различными ОС и прочее), планировалось использовать web-приложение, что диктовало использование JSON для обмена сообщениями.
В итоге получилась легкая и быстрая библиотека сериализации/десериализации JSON. Основные фичи данной библиотеки:
- в базовом функционале (без использования контейнеров STL) не использует динамическую память, вообще;
- состоит только из заголовочных файлов (headers-only);
- есть поддержка контейнеров STL;
- позволяет создавать расширения для обработки произвольных типов.