gpt4 book ai didi

c++ - 为什么 rapidjson 给我 std::string 的问题?

转载 作者:太空宇宙 更新时间:2023-11-04 14:28:58 25 4
gpt4 key购买 nike

我正在尝试将 std::string 与 RapidJson 一起使用

using namespace std;
using namespace rapidjson;
const char* json = "{\n"
" \"id\": null\n"
" \"code\": null\n"
"}";
Document d;
string a = "myString";
d["myValue"].SetString(a); //error: no matching member function for call to 'SetString' in the compiler

我只想能够使用 std::string 使用 rapidjson 编辑我的 json,但它不起作用。顺便说一句,C++ 的新手,如果这是一个愚蠢的问题,我们深表歉意。

编辑:我尝试了 Jorge Perez 的解决方案,但我仍然收到此错误:

/include/rapidjson/document.h:1139: rapidjson::GenericValue<Encoding, Allocator>& rapidjson::GenericValue<Encoding, Allocator>::operator[](const rapidjson::GenericValue<Encoding, SourceAllocator>&) [with SourceAllocator = rapidjson::MemoryPoolAllocator<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>]: Assertion `false' failed.

有什么想法吗?

最佳答案

如果你有一个字符串:

std::string s = "myString"; 

你可以在 RapidJson 中使用数据和大小来设置它:

document["myValue"].SetString(s.data(), s.size(), document.GetAllocator());

关于c++ - 为什么 rapidjson 给我 std::string 的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55585993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com