C++ JSON 字符串解析到结构体对象 - 使用 jsoncpp 库
{/'title/':/'C++ JSON 字符串解析到结构体对象 - 使用 jsoncpp 库/',/'description/':/'本文将介绍如何使用 jsoncpp 库将 JSON 字符串解析为 C++ 结构体对象。示例程序展示了如何定义结构体,解析 JSON 数据,并将数据赋值给结构体成员。/',/'keywords/':/'C++, JSON, 解析, 结构体, jsoncpp, 代码示例/',/'content/':/'要实现将一个json字符串转换为结构体对象,可以使用第三方库jsoncpp。下面是一个示例程序://n//ncpp//n#include <iostream>//n#include <json///json.h>//n//nstruct Person {//n std::string name;//n int age;//n std::string address;//n};//n//nint main() {//n std::string jsonStr = R/'({'name': 'John', 'age': 30, 'address': '123 Main St'})/' ;//n//n Json::CharReaderBuilder builder;//n Json::Value root;//n std::string errs;//n std::istringstream iss(jsonStr);//n//n if (!parseFromStream(builder, iss, &root, &errs)) {//n std::cout << /'Error parsing JSON: /' << errs << std::endl;//n return 1;//n }//n//n Person person;//n person.name = root[/'name/'].asString();//n person.age = root[/'age/'].asInt();//n person.address = root[/'address/'].asString();//n//n std::cout << /'Name: /' << person.name << std::endl;//n std::cout << /'Age: /' << person.age << std::endl;//n std::cout << /'Address: /' << person.address << std::endl;//n//n return 0;//n}//n//n//n上述程序首先定义了一个结构体Person,包含了姓名、年龄和地址。然后使用jsoncpp库解析json字符串。解析成功后,将json中的字段赋值给结构体对象。最后输出结构体对象的值。//n//n请确保已经安装了jsoncpp库,并在编译时链接jsoncpp库。/
原文地址: https://www.cveoy.top/t/topic/pC2B 著作权归作者所有。请勿转载和采集!