码迷,mamicode.com
首页 > 编程语言 > 详细

Linux平台下C++使用JsonCPP解析Json字符串

时间:2020-01-03 00:22:33      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:百度网盘   pytho   找不到   odi   net   oca   重命名   头文件   jsoncpp   

JsonCPP安装

安装 scons

下载地址
http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download
百度网盘
https://pan.baidu.com/s/1tW57c9s3iCeoDi4OIDyEPQ 密码:2wd5
解压

tar -zvxf scons-2.1.0.tar.gz

进入到解压目录scons-2.1.0,执行命令:

sudo python setup.py install

安装 JsonCPP

下载地址
http://sourceforge.net/projects/jsoncpp/
解压

tar -zvxf jsoncpp-src-0.5.0.tar.gz

进入到jsoncpp解压目录下,执行命令:

sudo scons platform=linux-gcc

还要以下两步操作:

  1. /jsoncpp-src-0.5.0/include/目录下的json文件夹拷贝到 /usr/local/include/
  2. jsoncpp-src-0.5.0/libs/linux-gcc-4.9.1/目录下的libjson_linux-gcc-4.9.1_libmt.a拷贝到 /usr/local/lib/ 下,并为了方便使用,将其重命名为libjsoncpp.a

到此,配置已经完成,只需要在代码中添加头文件:#include <json/json.h>即可。

程序测试

注意:在编译里指定动态链接库的地址:-ljsoncpp
测试程序

#include <iostream>
#include <string>
#include <json/json.h>

int main(void)
{
     Json::Value root;
     Json::FastWriter fast_writer;

     root["REGION_ID"] = "600901";
     root["DATA_TOTAL_NUM"] = "456278";
     
     std::cout << fast_writer.write(root) << std::endl;
     
     return 0;
}

编译
注意:链接库-ljsoncpp的名字和你拷贝到 /usr/local/lib/ 下时重命名有关

g++ -o JsonTest JsonTest.cpp -ljsoncpp

运行结果:

$ ./JsonTest 

{"DATA_TOTAL_NUM":"456278","REGION_ID":"600901"}

问题

如果找不到路径的错误,需要编辑/etc/ld.so.conf文件,此文件记录了编译器编译时使用的动态库路径!那我们把/usr/local/lib路径加入到文件末尾就可以了!

Linux平台下C++使用JsonCPP解析Json字符串

标签:百度网盘   pytho   找不到   odi   net   oca   重命名   头文件   jsoncpp   

原文地址:https://www.cnblogs.com/WindSun/p/12142628.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!