Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何克隆rapidjson;哪个更好,为什么_C++_Rapidjson - Fatal编程技术网

C++ 如何克隆rapidjson;哪个更好,为什么

C++ 如何克隆rapidjson;哪个更好,为什么,c++,rapidjson,C++,Rapidjson,我想知道克隆rapidjson的最好方法是什么。我在网上看到了一些好主意,它们差别很大 Milo在其文档()中给出了一个示例,这与rapidjson中tutorial.md中的deep copy示例类似。然而,这是一个过于简单的单值json。对于大型、多类型的json,迭代将非常复杂,我没有看到一个好的例子 有一个例子我很喜欢,但是有人评论说解析速度很慢,但是对于一个大型rapidjson例子,迭代整个集合也需要很长时间。另外,或其他语法似乎是错误的。没有给出类型 static void cop

我想知道克隆rapidjson的最好方法是什么。我在网上看到了一些好主意,它们差别很大

  • Milo在其文档()中给出了一个示例,这与rapidjson中tutorial.md中的deep copy示例类似。然而,这是一个过于简单的单值json。对于大型、多类型的json,迭代将非常复杂,我没有看到一个好的例子

  • 有一个例子我很喜欢,但是有人评论说解析速度很慢,但是对于一个大型rapidjson例子,迭代整个集合也需要很长时间。另外,或其他语法似乎是错误的。没有给出类型

    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());
    }
    
    静态无效复制文档(rapidjson::Document&newDocument,rapidjson::Document&copiedDocument){
    rapidjson::StringBuffer strbuf;
    rapidjson::编剧-编剧(strbuf);
    newDocument.Accept(writer);
    std::string str=strbuf.GetString();
    copiedDocument.Parse(str.c_str());
    }
    
  • 显然有一个,但我不确定如何使用它,或者它是否在我的rapidjson版本(1.1.0)中。我还没有幸运地使用GenericMember。我们正在使用DOM。我不能使用非官方版本的rapidjson,因为许可证会有所不同,并且会偏离主流版本的rapidjson


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

    你想问什么?这读起来像是离题了(“帮助我选择一个应用程序来使用”),但实际上,你并没有问任何问题。我在寻找建议。有人说第二个例子中的解析太慢了。但我认为,复制每个值并迭代一个大的json集,然后放入一个新的文档,这太慢了,就像Milos说的那样。DeepCopy修补程序是否在1.1.0中?如果是,我将如何使用它?除了查看API来了解它之外,还有什么好的使用示例吗?我的建议是尝试
    rapidjson的
    versionhttps://github.com/rjeczalik/rapidjson
    这是对您的观点的回答#2(它应该有一个DeepCopy补丁)。使用
    CMake
    生成要构建的MakeFile/project文件。我认为我不能使用未发布的版本。它可能不属于原始rapidjson的许可范围。如果是正式发布的话,我想我可以。那是我上面的#3。啊,我明白了。我读这篇文章的目的是“帮助我找到一个库来完成这项工作”,但你在问“我如何才能完成这项任务;这里有一些外部资源可以完成这项任务,但它们都有问题。”我建议你重新表述你的问题,这样你就更清楚地知道你不是在寻找一个库或工具。你想问什么?这读起来像是离题了(“帮助我选择一个应用程序来使用”),但实际上,你并没有问任何问题。我在寻找建议。有人说第二个例子中的解析太慢了。但我认为,复制每个值并迭代一个大的json集,然后放入一个新的文档,这太慢了,就像Milos说的那样。DeepCopy修补程序是否在1.1.0中?如果是,我将如何使用它?除了查看API来了解它之外,还有什么好的使用示例吗?我的建议是尝试
    rapidjson的
    versionhttps://github.com/rjeczalik/rapidjson
    这是对您的观点的回答#2(它应该有一个DeepCopy补丁)。使用
    CMake
    生成要构建的MakeFile/project文件。我认为我不能使用未发布的版本。它可能不属于原始rapidjson的许可范围。如果是正式发布的话,我想我可以。那是我上面的#3。啊,我明白了。我读这篇文章的目的是“帮助我找到一个库来完成这项工作”,但你在问“我如何才能完成这项任务;这里有一些外部资源可以完成这项任务,但它们都有问题。”我建议你重新表述你的问题,这样你就更清楚地知道你不是在寻找一个库或工具。