c++ - 将字符串输入 RapidJson 以输出 JSON

标签 c++ json c++11 rapidjson

我正在考虑使用 RapidJSON 将一些数据字符串转换为 json 格式。这就是我的出发点。

#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"
#include <iostream>

using namespace rapidjson;
using namespace std;

std::string item_name
std::string item_address

itemname = "John";
item_address = "New York";

int main() {
 StringBuffer s;
 writer<StringBuffer> writer(s);

 writer.StartObject();
 writer.String("hello");
 writer.EndObject();

 std:cout << s.GetString() <<endl;
 return 0;
 }

输出格式是这样的:

{"item": {"name": "John", "address": "New York"}}

我对如何将我的字符串内容放入 json 以及定义它应该是“item”的子项感到困惑。

最佳答案

生成 {"item": {"name": "John", "address": "New York"}},请尝试:

#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"
#include <iostream>
#include <string>

using namespace rapidjson;
using namespace std;

std::string item_name;
std::string item_address;

int main() {
    item_name = "John";
    item_address = "New York";

    StringBuffer s;
    Writer<StringBuffer> writer(s);

    writer.StartObject();
    writer.String("item");
        writer.StartObject();
        writer.String("name");
        writer.String(item_name.c_str());
        writer.String("address");
        writer.String(item_address.c_str());
        writer.EndObject();
    writer.EndObject();

    std:cout << s.GetString() <<endl;
    return 0;
 }

关于c++ - 将字符串输入 RapidJson 以输出 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29768433/

相关文章:

c++ - 如何将可变参数转换为容器类?

c++ - 链接器如何知道外部函数的定义在哪里?

json - 如何从 HTTP 响应正文中读取错误

c++ - 检查类是否派生自特定类(编译、运行时均可用)

c++ - 串口通讯崩溃

java - 为什么有些语言需要装箱和拆箱?

java - 无法使用hibernate保存子表数据

javascript - 用于 URL 的 Bootstrap 表格式化程序

c++ - c++98 中的 move() 是什么?

c++ - 从 priority_queue 弹出时出现排序问题,这是 std::priority_queue 的错误吗