如何克隆rapidjson;这更好,为什么

时间:2017-02-15 14:38:41

标签: c++ rapidjson

我正在试图找出克隆rapidjson的最佳方法是什么。我在网上看到了一些很好的想法,这些想法有很大不同。

  1. Milo在他的文档中提供了示例(deep copy milo),这就像rapidjson中tutorial.md中的深层复制示例。但是,这是一个过于简单的,一个值json。对于大型,多类型,json,迭代会很复杂,我没有看到一个很好的例子。

  2. newDocument copy有一个我喜欢的例子,但有人评论解析很慢,但对于一个大型的快速示例,迭代整个集合也需要很长时间。另外,< 0>或其他语法出错。没有给出类型。

    static void copyDocument(rapidjson::Document & newDocument,   rapidjson::Document & copiedDocument) {
        rapidjson::StringBuffer strbuf;
        rapidjson::Writer<rapidjson::StringBuffer> writer(strbuf);
        newDocument.Accept(writer);
        std::string str = strbuf.GetString();
        copiedDocument.Parse<0>(str.c_str());
    }
    
  3. 显然有一个DeepCopy patch,但我不确定如何使用它,或者它是否在我的rapidjson版本(1.1.0)中。我还没有运气使用GenericMember。我们正在使用DOM。我不能使用非官方版本的rapidjson,因为许可证会有所不同,它会偏离rapidjson的主流版本。

  4. 对于libjson,我们曾经做过浅拷贝,比如&amp; rhs,但我正在寻找建议,如果它在1.1.0中,可能还有一个使用DeepCopy补丁的例子。

0 个答案:

没有答案