Более быстрая альтернатива JsonCpp, которая позволяет копировать / изменчивость объектов Json?

JsonCpp работает медленно. И код довольно грязный.

Есть ли альтернатива, которая быстрее, чище и поддерживает такие вещи, как:

Json::Value val, copy;
val["newMember"] = 100;
val["newMember2"] = "hello";
copy = val;
val["newMember2"] = "bye";
assert(val["newMember"] == copy["newMember"]);
assert(val["newMember2"] != copy["newMember2"]);

JsonCpp поддерживает код, подобный приведенному выше.

я пробовал rapidjson, который очень быстрый, но, к сожалению, он не поддерживает копирование значений Json.

Любая альтернатива? Бонусный балл за ориентиры.

2

Решение

После поиска в течение некоторого времени «документации» я наконец нашел хороший способ копировать объекты JSON с rapidjson, который очень удобен:

rapidjson::Document doc; // This is the base document that you got from parsing etc
rapidjson::Value& v = doc["newMember"]; // newMember = 100

assert(v.GetInt() == 100);

rapidjson::Document copy;
doc.Accept(copy); // The accept meachnism is the same as used in parsing, but for copying

assert(copy["newMember"].GetInt() == doc["newMember"].GetInt())

Явное копирование имеет одно преимущество: оно заставляет вас думать о том, когда вы используете ссылки или потенциально ненужные копии.

4

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

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

По вопросам рекламы [email protected]