Повысить свойство write_json некорректное поведение

Я кодирую JSON-оболочку для дерева свойств Boost.
В настоящее время основное внимание уделяется записи результирующего JSON в строку или файл.

Используя boost :: property_tree :: json_parser :: write_json (ss, * pt), результирующее дерево свойств записывается в виде строки.

Но этот метод не понимает, что такое истина, ложь, ноль или число.
Все преобразуется в строку.

Чтение документации Boost — это ограничение библиотеки.
Есть ли способ изменить это поведение?

4

Решение

Ссылка на сайт В этой ссылке есть решение проблемы.

Это связано с изменением форсированного кода, поэтому я попробовал другую альтернативу.
Мое решение включает в себя регулярные выражения:

std::string JSONObject::toString() const
{
boost::regex exp("\"(null|true|false|[0-9]+(\\.[0-9]+)?)\"");
std::stringstream ss;
boost::property_tree::json_parser::write_json(ss, *pt);
std::string rv = boost::regex_replace(ss.str(), exp, "$1");

return rv;
}

В основном я ищу ключевые слова: true, false, null и любой тип числа.
Спички заменяются одинаковыми без кавычек.

11

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector