C++ C++;使用rapidjson将向量转换为JSON数组

C++ C++;使用rapidjson将向量转换为JSON数组,c++,json,rapidjson,C++,Json,Rapidjson,我试图使用rapidjson库将字符串的基本std::vector解析为json 尽管这个问题在网上有多个答案,但没有一个对我有用。我能找到的最好结果是,但我确实得到了一个错误(清理了一点): 错误C2664“noexcept”:无法将参数1从“std::basic_字符串,std::allocator>”转换为“rapidjson::GenericObject,rapidjson::MemoryPoolAllocator>” 我的代码主要基于上面的链接: rapidjson::文档d; std

我试图使用rapidjson库将字符串的基本std::vector解析为json

尽管这个问题在网上有多个答案,但没有一个对我有用。我能找到的最好结果是,但我确实得到了一个错误(清理了一点):

错误C2664“noexcept”:无法将参数1从“std::basic_字符串,std::allocator>”转换为“rapidjson::GenericObject,rapidjson::MemoryPoolAllocator>”

我的代码主要基于上面的链接:

rapidjson::文档d;
std::矢量文件;
//向量中填充了文件名,
//我调试了这个,它没有错误。
for(const auto&entry:fs::directory\u迭代器(UPLOAD\u DIR))
文件。向后推(entry.path().string());
//本部分基于提供的链接
d、 SetArray();
rapidjson::Document::AllocatorType&allocator=d.GetAllocator();
对于(int i=0;i
如果有人能解释我在这里遗漏了什么,那就太好了,因为我不完全理解出现的错误。我猜它与提供的字符串类型有关,但错误是在Rapidjson文件中生成的

如果您能提供其他工作示例,我也将不胜感激

提前谢谢

编辑
对于JSON数组,我的意思是只包含向量值的基本JSON字符串。

似乎字符串类型std::string和rapidjson::UTF8不兼容。 我设置了一个小的测试程序,如果您创建一个rapidjson::Value对象并首先调用它SetString方法,它似乎可以工作

#包括
#包括
#包括“rapidjson/document.h”
#包括“rapidjson/writer.h”
#包括“rapidjson/stringbuffer.h”
int main(){
rapidjson::文档;
document.SetArray();
std::vector files={“abc”,“def”};
rapidjson::Document::AllocatorType&allocator=Document.GetAllocator();
用于(常量自动文件:文件){
rapidjson::值;
value.SetString(file.c_str()、file.length()、分配器);
文档。回推(值、分配器);
//或作为一个班轮:
//document.PushBack(rapidjson::Value().SetString(file.c_str(),file.length(),分配器),分配器);
}
rapidjson::StringBuffer strbuf;
rapidjson::编剧-编剧(strbuf);
文件。接受(作者);
标准::cout