Centos下 jsoncpp使用详解

简介: Windows环境下的jsoncpp使用举例之前有讲述,详见:http://blog.csdn.net/laoyang360/article/details/46757751Linux之前一直没有用过,第一次用,特备忘如下:

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 makefile

json_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_test

xx显华化工科技有限公司

XX经济技术开发区市场监督管理局

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

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的内容的前面的”[” 以及后面的”]”去掉即可。

相关文章
|
Linux 算法框架/工具 数据格式
Centos下 jsoncpp使用详解
干货 | Centos下 jsoncpp使用详解
2029 0
Centos下 jsoncpp使用详解
|
10天前
|
Linux 网络安全 开发工具
Centos6.5安装并配置Telnet服务
该内容是一个关于如何安装配置Telnet服务的教程。首先,通过yum安装vim、xinetd、telnet和telnet-server。接着,修改/etc/xinetd.d/telnet配置文件,将disable改为no,并设置访问限制(如限定特定网段和时间)。关闭防火墙,重启服务。创建测试用户后,分别使用CentOS和Windows的Telnet客户端进行连接测试,显示成功,实验完成。
18 1
|
2天前
|
运维 安全 Linux
如何在CentOS7一键安装宝塔面板并实现固定地址访问内网宝塔进行管理
如何在CentOS7一键安装宝塔面板并实现固定地址访问内网宝塔进行管理
|
2天前
|
Linux 测试技术 数据安全/隐私保护
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
|
3天前
|
Linux Docker 容器
centos7安装docker图文详解
该文档提供了在CentOS上安装Docker的步骤:检查系统内核版本(需大于3.10),更新yum,卸载旧版Docker,安装yum-utils和依赖包,设置Docker仓库,列出并选择Docker版本,安装Docker,最后启动并设置Docker开机启动,通过`docker version`验证安装是否成功。
|
3天前
|
关系型数据库 MySQL 应用服务中间件
centos7在线安装jdk1.8+tomcat+mysql8+nginx+docker
现在,你已经成功在CentOS 7上安装了JDK 1.8、Tomcat、MySQL 8、Nginx和Docker。你可以根据需要配置和使用这些服务。请注意,安装和配置这些服务的详细设置取决于你的具体需求。
20 2
|
5天前
|
NoSQL Linux 网络安全
【专栏】如何在 RHEL 8 或者 CentOS 8 上安装 MongoDB?
【4月更文挑战第28天】本文档介绍了如何在RHEL或CentOS 8上安装MongoDB,包括环境准备(系统更新、依赖安装、硬件需求和sudo用户)、导入MongoDB GPG公钥、创建Yum仓库、安装MongoDB社区版,以及后续的基本配置和验证(启动服务、防火墙设置和连接验证)。通过这些步骤,用户可以顺利安装并运行MongoDB,以处理非结构化数据和扩展技术栈。
|
5天前
|
安全 Linux 网络安全
【专栏】如何进行 CentOS 8 最小安装
【4月更文挑战第28天】本文介绍了如何进行CentOS 8的最小安装,包括准备工作(确认硬件兼容性、下载ISO镜像、制作启动盘及备份数据)和安装步骤(选择语言、最小环境、网络设置、安全策略、分区、用户设置及开始安装)。安装后需进行基础配置,如系统更新、SELinux设置、防火墙配置、安装必要软件包和服务优化。最小安装提供了一个精简高效的环境,便于用户根据需求自定义和管理服务器。
|
6天前
|
存储 Linux 持续交付
【docker】CentOS 7上安装Docker的详细过程
【docker】CentOS 7上安装Docker的详细过程
|
8天前
|
安全 关系型数据库 Linux
centos7_安装mysql8(局域网访问navicat连接)
centos7_安装mysql8(局域网访问navicat连接)
14 1

热门文章

最新文章