json - std::string 到 rapidJson 对象的转换

标签 json string parsing stdstring rapidjson

我试图将一个 std::string 转换为以下格式的 rapidJson 对象

  { 
     "data":{

               "value": "AB1234"
            }
  }

我试过了

rapidjson::Document aJsonDocument;
aJsonDocument.SetObject();
rapidjson::Document::AllocatorType &aAllocator = aJsonDocument.GetAllocator();

rapidjson::Value aPsmJson(rapidjson::kStringType);
std::string aStr = "ABCDEF";
aPsmJson.SetString(aStr.c_str(), aAllocator);
aJsonDocument.AddMember("value", aPsmJson, aAllocator);

//jsonToString is a function to convert json document to string
std::string aInputJsonString = jsonToString(aJsonDocument);
std::cout << "Output: " << aInputJsonString ;

这是给出输出 {“值”:“ABCDEF”}

最佳答案

您忘记为 "data" 创建一个 Value:

string s = "ABCDEF";
Document d(kObjectType);
Value data(kObjectType);
Value value;
value.SetString(s.c_str(), d.GetAllocator());
data.AddMember("value", value, d.GetAllocator());
d.AddMember("data", data, d.GetAllocator());

std::cout << jsonToString(d);

输出:

{
    "data": {
        "value": "ABCDEF"
    }
}

关于json - std::string 到 rapidJson 对象的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50811005/

相关文章:

ruby - 为什么字符串中的字符没有发生突变?

string - 查找包含另一个字符串的某些变位词作为子序列的字符串的子字符串数

parsing - dojo datePatterns 和解析

python - 以 UTF-8 格式从 lxml 错误日志中打印消息

json - 参数类型 'x' 无法分配给参数类型 'y'

json - Mongodb:将一棵树存储为一个嵌套文档还是每个节点存储一个文档?

string - 在 COBOL 中查找子字符串的索引

java - 在java中从列表转换为json

java - 如何使用ajax、json中返回的数组

java - 使用 TagSoup 将 HTML 页面转换为 XHTML