Centos下 jsoncpp使用详解
来源:互联网 发布:淘宝上卖高仿鞋的店 编辑:程序博客网 时间:2024/05/17 12:20
Windows环境下的jsoncpp使用举例之前有讲述,详见:
http://blog.csdn.net/laoyang360/article/details/46757751
Linux之前一直没有用过,第一次用,特备忘如下:
1、Centos下 jsoncpp的安装步骤
第一步:下载jsoncpp
0.5.0版本地址:https://sourceforge.net/projects/jsoncpp/
个人感觉早期版本0.5.0更稳定些。
官网地址:https://github.com/open-source-parsers/jsoncpp
第二步:安装scons
编译jsoncpp需要使用scons。
下载scons地址:https://sourceforge.net/projects/scons/files/scons/2.1.0/
现在已经有新版本,但2.1.0测试相对好用。
第三步:编译scons
tar -zvxf scons-2.1.0.tar.gz
1)在/etc/profile 设置环境变量
export MYSCONS=解压的路径
export SCONS_LIB_DIR=$MYSCONS/engine
注意:这两个环境变量至关重要。
运行: source /etc/profile 使设置的新环境变量生效。
注: scons是一个Python写的自动化构建工具,从构建这个角度说,它跟GNU make是同一类的工具。
它是一种改进,并跨平台的gnu make替代工具,其集成功能类似于autoconf/automake 。
scons是一个更简便,更可靠,更高效的编译软件。
第四步:解压jsoncpp
tar -zvxf jsoncpp-src-0.5.0.tar.gz
第五步:切换到jsoncpp的解压目录,执行命令
python $MYSCONS/script/scons platform=linux-gcc
我的路径为:/home/yang/mysql_y/jsoncpp-src-0.5.0
执行:
第六步:生成静态和动态库文件
在jsoncpp-src-0.5.0/libs/linux-gcc-4.4.7目录下,如下所示:
[root@yang linux-gcc-4.4.7]# pwd
/home/yang/mysql_ycy/jsoncpp-src-0.5.0/libs/linux-gcc-4.4.7
[root@lyang linux-gcc-4.4.7]# ll
-rw-r–r– 1 root root 618712 9月 9 13:43 libjson_linux-gcc-4.4.7_libmt.a
-rwxr-xr-x 1 root root 359045 9月 9 13:43 libjson_linux-gcc-4.4.7_libmt.so
第七步:
可将 libjson_linux-gcc-4.4.7_libmt.a 和 libjson_linux-gcc-4.4.7_libmt.so 拷贝到/usr/lib下,
本文选择了静态库库文件,将解压后的文件夹下的INCLUDE中的头文件拷贝到/usr/include/json下。
2、Demo程序测试验证功能是否ok。
有如下最终结果输出的为ok!
[root@yang json_test0922]# cat json_test.cpp#include <json/json.h>#include <string>#include <iostream>using namespace std;int main(){string test = "{\"encrptpripid\": \"f2cbfd07bb6b784f0fb5a52e17e1b3930324e1ef9065338f4aa1\", \\"entname\": \"xx显华化工科技有限公司\",\ \"enttype\": \"1151\",\ \"enttypename\": \"法定代表人:\",\ \"estdate\": \"2003年06月19日\",\ \"lerep\": \"丰佩川\",\ \"pripid\": \"106350010220030687030\",\ \"regno\": \"911706007526952553\",\ \"regorgname\": \"XX经济技术开发区市场监督管理局\",\ \"uniscid\":\"91106007526952553\"}";Json::Reader reader;Json::Value value;if(reader.parse(test,value)){ if(!value["encrptpripid"].isNull()) { cout << value["entname"].asString() << endl; cout << value["regorgname"].asString()<< endl; }}return 0;}[root@yang json_test0922]# cat makefilejson_test:json_test.cpp g++ -o json_test json_test.cpp /usr/lib/libjson_linux-gcc-4.4.7_libmt.a[root@yang json_test0922]# ./json_testxx显华化工科技有限公司XX经济技术开发区市场监督管理局
3、常见错误:
错误1:mysql_parse: src/lib_json/json_value.cpp:1025: Json::Value& Json::Value::resolveReference(const char*, bool): Assertion `type_ == nullValue || type_ == objectValue’ failed.
解决方案:json的内容的前面的”[” 以及后面的”]”去掉即可。
2016-9-21 pm20:59 思于家中床前
作者:铭毅天下
转载请标明出处,原文地址:http://blog.csdn.net/laoyang360/article/details/52613262
如果感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力,谢谢!
- Centos下 jsoncpp使用详解
- jsoncpp 使用详解
- LINUX下使用JsonCpp
- linux下使用Jsoncpp
- Windows下使用jsoncpp
- centos 6.5 下的 jsoncpp 配置
- ubuntu 下使用 jsoncpp库
- ubuntu下使用jsoncpp例子
- jsoncpp在linux和windows下的编译及使用详解
- Jsoncpp使用详解以及链接问题解决
- jsoncpp详解
- VC下jsoncpp的使用入门(转)
- Linux 下编译JsonCpp与使用
- VC下jsoncpp的使用入门(转)
- VC下使用JSONCPP(json)
- linux下jsoncpp的编译安装使用
- mac下使用jsoncpp解析json
- windows下 jsoncpp的编译和使用
- Android Service完全解析,关于服务你所需知道的一切(上)
- 公有密钥和私有密钥加密
- 一个很傻瓜式解数独算法
- iOS 隐藏status bar(状态栏/电池条)的详细研究
- 2017今日头条测试开发
- Centos下 jsoncpp使用详解
- 顺序表应用7:最大子段和之分治递归法
- 顺序表实现一元稀疏多项式
- hdu 5892 List wants to travel 2016ACM/ICPC沈阳赛区网络赛1001
- 采用THree.js为三角网格的每一个面填充颜色
- BZOJ 2006 && NOI 2010 优先队列
- Android Service完全解析,关于服务你所需知道的一切(下)
- 数据结构实验之栈六:下一较大值(二)
- Javascript中事件委托(delegate)是如何运行的