c++ json

c++中json对象如何创建

小亿
122
2024-01-12 03:40:10
栏目: 编程语言

在C++中,可以使用第三方库来创建和操作JSON对象。以下是使用RapidJSON库创建一个JSON对象的示例:

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

using namespace rapidjson;

int main() {
    // 创建一个空的 JSON 对象
    Document document;
    document.SetObject();

    // 向 JSON 对象中添加键值对
    Value name;
    name.SetString("John", document.GetAllocator());
    document.AddMember("name", name, document.GetAllocator());

    Value age;
    age.SetInt(30);
    document.AddMember("age", age, document.GetAllocator());

    // 将 JSON 对象转换为字符串
    StringBuffer buffer;
    Writer<StringBuffer> writer(buffer);
    document.Accept(writer);

    // 输出 JSON 字符串
    std::cout << buffer.GetString() << std::endl;

    return 0;
}

上述代码使用了RapidJSON库。首先,我们创建一个空的JSON对象document,然后使用SetObject()方法来设置它为一个空的JSON对象。

然后,我们创建了两个键值对,一个是name,值为字符串"John",另一个是age,值为整数30。使用AddMember()方法将键值对添加到JSON对象中。

最后,我们将JSON对象转换为字符串。我们使用StringBuffer来保存转换后的字符串,并使用Writer将JSON对象转换为字符串。最后,我们通过GetString()方法获取字符串,并使用std::cout输出。

输出结果为:

{"name":"John","age":30}

RapidJSON是一个高效的JSON解析和生成库,通过它可以方便地创建和操作JSON对象。当然,还有其他的JSON库可供选择,如nlohmann/json和jsoncpp等。

0
看了该问题的人还看了