C++ 使用jsoncpp 封装及解析 json字符串(包含复杂数组)
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
C++ 使用jsoncpp 封装及解析 json字符串(包含复杂数组)
#include <json/json.h>
#include <string>
#include <iostream>
using namespace std;
int main()
{
//std::string strValue = "{\"name\":\"json\",\"array\":[{\"cpp\":\"jsoncpp\"},{\"java\":\"jsoninjava\"},{\"php\":\"support\"}]}";
// 构建json数组
Json::Value array;
Json::Value root;
Json::Value person;
Json::FastWriter writer;
person["name"] = "allen";
person["age"] = 10;
person["sex"] = "male";
root.append(person);
person["name"] = "keiv";
person["age"] = 20;
person["sex"] = "female";
root.append(person);
person["name"] = "lihua";
person["age"] = 10;
person["sex"] = "female";
root.append(person);
// 添加数组格式
//array["array"].append(root);
// 子节点挂到根节点上
array["array"] = Json::Value(root);
string data = writer.write(array);
//cout<<data<<endl;
//cout<<array.toStyledString()<<endl;
// 解析Json字符串
string strValue = array.toStyledString(); // json对象转变为json字符串
cout<<strValue<<endl;
Json::Reader reader;
Json::Value value;
if (reader.parse(strValue, value)) // json字符串转为json对象
{
for (unsigned int i = 0; i < value["array"].size(); i++)
{
string name = value["array"][i]["name"].asString();
int age = value["array"][i]["age"].asInt();
string sex = value["array"][i]["sex"].asString();
cout<<name<<" "<<age<<" "<<sex<<endl;
}
}
return 0;
}
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献4条内容
所有评论(0)