C++におけるJSONオブジェクトの作成方法は何ですか?
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オブジェクトとして設定します。
その後、私たちは2つのキーと値のペアを作成しました。1つは名前で文字列「John」で、もう1つは年齢で整数30です。AddMember()メソッドを使用して、キーと値のペアをJSONオブジェクトに追加しました。
最後に、JSONオブジェクトを文字列に変換します。変換後の文字列を保存するためにStringBufferを使用し、JSONオブジェクトを文字列に変換するためにWriterを使います。最後に、GetString()メソッドを使用して文字列を取得し、std :: coutを使用して出力します。
結果は次の通りです:
{"name":"John","age":30}
RapidJSONはJSONの解析と生成を効率的に行うためのライブラリであり、これを使用することで簡単にJSONオブジェクトを作成し操作することができます。もちろん、他にもnlohmann/jsonやjsoncppなどの選択肢もあります。