安装步骤
// 安装依赖 scons
sudo apt-get install scons
// 现在库文件
wget https://nchc.dl.sourceforge.net/project/jsoncpp/jsoncpp/0.5.0/jsoncpp-src-0.5.0.tar.gz
tar -zxvf jsoncpp-src-0.5.0.tar.gz
cd jsoncpp-src-0.5.0
python /usr/bin/scons platform=linux-gcc
cp libs/linux-gcc-4.7/libjson_linux-gcc-4.7_libmt.a libs/linux-gcc-4.7/libjsoncpp.a
cp libs/linux-gcc-4.7/libjson_linux-gcc-4.7_libmt.so libs/linux-gcc-4.7/libjsoncpp.so
sudo mkdir /usr/local/lib/
sudo cp libs/linux-gcc-4.7/libjsoncpp.a /usr/local/lib/
sudo cp libs/linux-gcc-4.7/libjsoncpp.so /usr/local/lib/
sudo mkdir /usr/local/include/jsoncpp/
sudo cp include/json/* /usr/local/include/jsoncpp/
// 头文件
#include <jsoncpp/json.h>
// 编译 链接 -
测试案例
读取json文件
#include <json/json.h> //需要在程序中添加json.h头文件
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream ifs;
ifs.open("testjson.json");
if(!ifs.is_open()) {
cout<<"open file error!"<<endl;
return 1;
}
Json::Reader reader;
Json::Value root;
if (!reader.parse(ifs, root, false)) {
return -1;
}
std::string name = root["name"].asString();
int age = root["age"].asInt();
std::cout<<name<<std::endl;
std::cout<<age<<std::endl;
return 0;
}
testjson.json 文件如下:
{ "name": "sunwukong", "age": 12 }
写入json文件
#include<json/json.h>
#include<iostream>
#include<fstream>
using namespace std;
int main() {
Json::Value root;
Json::FastWriter writer;
Json::Value person;
person["name"] = "hello world";
person["age"] = 100;
root.append(person);
std::string json_file = writer.write(root);
ofstream ofs;
ofs.open("test2.json");
if(!ofs.is_open()) {
cout<<"open file error!"<<endl;
return -1;
}
ofs<<json_file;
ofs.close();
return 0;
}
参考文档
【1】https://www.cnblogs.com/osbreak/p/9928954.html
【2】https://blog.csdn.net/xiaolong361/article/details/77017189
【3】https://blog.csdn.net/shuiyixin/article/details/89330529