json11 这个库是这两天看上去很好用的一个库,现在给出简单的用法,详细说明看官网
1. json 生成
// 生成 json
json11::Json my_json =json11::Json::object {
{ "key1","value1" },
{ "key2",false },
{ "key3", json11::Json::array { 1, 2, 3 } },
};
std::string json_str = my_json.dump();
int a = 0;
// stl data struct create json items.
std::list<int> l1 { 1, 2, 3 };
std::vector<int> l2 { 1, 2, 3 };
std::set<int> l3 { 1, 2, 3 };
std::map<std::string,std::string> m1 { {"k1", "v1" }, {"k2", "v2" } };
std::string ss =json11::Json(m1).dump();
int ab = 0;
2. json 解析// 解析数据
{
conststd::string simple_test = R"( {"k1":"v1", "k2":42, "k3":["a",123,true,false,null]} )";
std::string err;
constauto json = json11::Json::parse(simple_test, err);
std::cout <<"k1: " << json["k1"].string_value() <<"\n";
std::cout <<"k3: " << json["k3"].dump() <<"\n";
for (auto &k : json["k3"].array_items() )
{
std::cout <<" - " << k.dump() <<"\n";
}
}