在C++中,有多种库可以用于序列化和处理JSON格式的数据
示例代码:
#include <iostream>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
int main() {
// 创建一个JSON对象
json j = {
{"name", "John"},
{"age", 30},
{"is_student", false}
};
// 将JSON对象转换为字符串
std::string json_str = j.dump();
std::cout << "JSON string: " << json_str << std::endl;
// 从字符串解析JSON对象
json parsed_json = json::parse(json_str);
std::cout << "Parsed name: " << parsed_json["name"] << std::endl;
std::cout << "Parsed age: " << parsed_json["age"] << std::endl;
std::cout << "Parsed is_student: " << parsed_json["is_student"] << std::endl;
return 0;
}
示例代码:
#include <iostream>
#include <rapidjson/document.h>
#include <rapidjson/writer.h>
#include <rapidjson/stringbuffer.h>
using namespace rapidjson;
int main() {
// 创建一个JSON对象
Document d;
d.SetObject();
d.AddMember("name", "John", d.GetAllocator());
d.AddMember("age", 30, d.GetAllocator());
d.AddMember("is_student", false, d.GetAllocator());
// 将JSON对象转换为字符串
StringBuffer buffer;
Writer<StringBuffer> writer(buffer);
d.Accept(writer);
std::string json_str = buffer.GetString();
std::cout << "JSON string: " << json_str << std::endl;
// 从字符串解析JSON对象
Document parsed_json;
parsed_json.Parse(json_str.c_str());
std::cout << "Parsed name: " << parsed_json["name"].GetString() << std::endl;
std::cout << "Parsed age: " << parsed_json["age"].GetInt() << std::endl;
std::cout << "Parsed is_student: " << (parsed_json["is_student"].GetBool() ? "true" : "false") << std::endl;
return 0;
}
这些库都提供了详细的文档和示例,可以帮助您快速上手并在项目中使用它们。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。