1:安装json库:
sudo apt-get install libjsoncpp0 libjsoncpp-dev
2:编译方式:编译时加上库路径
g++ my_test_jsoncpp.cpp -L/usr/lib/x86_64-linux-gnu -ljsoncpp -o my_test
3:json数据解析:
#include<jsoncpp/json/json.h>
int main()
{
const char* s = "{\"uploadid\": \"UP000000\",\"code\": 100,\"msg\": \"\" ,\"files\": \"\"}";
Json::Reader reader;
Json::Value root;
if (!reader.parse(s, root))
{
return -1;
}
std::string name = root["uploadid"].asString();
int age = root["code"].asInt();
std::cout<<name<<std::endl;
std::cout<<age<<std::endl;
return 0;
}
结果如下:
4:json数据封装(FastWriter 方式)
#include<jsoncpp/json/json.h>
int main()
{
Json::Reader reader;
Json::Value root;
Json::Value root1;
Json::FastWriter fwrite;
Json::StyledWriter swriter;
root1["name"] = "hello";
root1["age"] = 100;
root.append(root1);
std::string json_str=fwrite.write(root1);
std::string str = fwrite.write(root);
std::cout<<json_str<<std::endl;
std::cout<<str<<std::endl;
return 0
}
输出结果如下:
root1 被转化为json对象数据格式
root 被转化为json数组数据格式