2016-04-14 3 views

ответ

0

EDIT - Библиотека Boost использует только RapidXML, а не RapidJSON.


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

Таким образом, ответ может быть «нет» (более вероятно, «да»), и вы не получите от него абсолютно ничего, потому что вы не можете зависеть от него.

Просто выберите свою собственную библиотеку XML и использовать его там, где вам это нужно: What XML parser should I use in C++?

IIRC Повысьте главным образом модифицировали пространство имен, так что вы не будете иметь ODR столкновения при выборе RapidXML

+0

Я вижу, что я неправильно читал RapidJSON как RapidXML. То же самое относится, mutatis mutandis – sehe

+0

с точки зрения эффективности, который будет хорошим для использования? – vishnubvrit

+0

Что значит. У вас есть только один вариант. Это будет тот, который будет использоваться – sehe

3

Я сравнил 37 C/C++ JSON в nativejson-benchmark для стандартного соответствия и производительности.

Однако я не смог интегрировать Boost.PropertyTree (1.60) в эталонном, потому что он анализирует числа, истинные, ложные, нулевые типы как строки.


Edit: Для того, чтобы ответить на этот вопрос более непосредственно, Boost.PropertyTree не может обеспечить JSON функциональности большинство библиотек JSON делать. С другой стороны, RapidJSON - это библиотека JSON с высокой совместимостью и производительностью. BTW, в дополнение к разбору/стилизации JSON, RapidJSON также предоставляет API-интерфейс потокового стиля, указатель JSON и схему JSON. Эти функции необычны в библиотеках с открытым исходным кодом.

+0

Конечно. Это не библиотека JSON. Это библиотека дерева свойств. Если вам нужна библиотека JSON, используйте библиотеку JSON. – sehe

+0

- это библиотека json и быстрый json один и тот же? – vishnubvrit

+0

@ user3262531 Это был вопрос, и вот что я ответил. Однако свойство Boost ** не является библиотекой JSON. Он ** использует ** один (для реализации одного из возможных бэкэндов для деревьев свойств). – sehe