由于最近和客户的数据交互发生变化,改为使用Json格式,简单做一下记录,持续更新~,免得忘了~
一、安装,从github上找了一个星星比较多的库: nlohmann/json
1、下载资源: git clone https://github.com/nlohmann/json.git
2、使用cmake安装:
mkdir build
cd build
cmake …
cmake --build .
ctest ( 查看是否有编译错误 )
sudo make install
安装完毕后,在/usr/local/include/ 路径当中会多出一个文件加nlohmann , 里面也只有一个文件:json.hpp
二、使用
1、nlohmann json 是需要支持c++11 标准的,所以编译的时候需要添加 -std=c++11
如果是直接使用g++ 编写编译命令: 例如编译test.cpp 文件,需要写成:
g++ test.cpp -o test -std=c++11
如果使用cmake编译,需要在CMakeLists.txt中添加:
add_compile_options(-std=c++11)
2、读写文件:
bool WriteFile(const Json text) {
// 打开文件
std::ofstream fout;
fout.open("./test.json", std::ios::out| std::ios_base::ate);
if (!fout.is_open()){
return false;
}
// 将text写入文件后关闭文件
fout <<text<<std::endl;
fout.flush();
fout.close();
return true;
}
bool ReadFile(const std::string file, Json& json){
std::ifstream in;
in.open(file,std::ios::in);
if(!in.is_open()){
std::cout << "can't open file" << std::endl;
return false;
}
in>>json;
std::cout << "Read: " << json << std::endl;
return true;
}