将字符串馈送到 RapidJson 中以输出 JSON

Feed strings into RapidJson to output JSON

本文关键字:输出 JSON RapidJson 字符串      更新时间:2023-10-16

我正在考虑使用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;
 }