linux install jsonapp库

安装步骤

// 安装依赖 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值