Centos下 jsoncpp使用详解

简介: 干货 | Centos下 jsoncpp使用详解

前言

Windows环境下的jsoncpp使用举例之前有讲述,详见:
https://developer.aliyun.com/article/708109?spm=5176.8068049.0.0.7f0d6d192hfbK7

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 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经济技术开发区市场监督管理局

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


作者:铭毅天下
转载请标明出处,原文地址:http://blog.csdn.net/laoyang360/article/details/52613262

相关文章
|
JSON Linux 数据格式
Centos下 jsoncpp使用详解
Windows环境下的jsoncpp使用举例之前有讲述,详见: http://blog.csdn.net/laoyang360/article/details/46757751 Linux之前一直没有用过,第一次用,特备忘如下:
384 0
|
6天前
|
存储 分布式计算 Hadoop
Centos7.9安装kerberos
Centos7.9安装kerberos
55 25
|
1天前
|
存储 Shell 网络安全
Centos7.9安装openldap
Centos7.9安装openldap
32 16
|
2天前
|
数据可视化 Linux 应用服务中间件
Centos7.9安装phpldapadmin
Centos7.9安装phpldapadmin
33 15
|
5天前
|
网络协议 Java 应用服务中间件
centos7环境下tomcat8的安装与配置
本文介绍了在Linux环境下安装和配置Tomcat 8的详细步骤。首先,通过无网络条件下的文件交互软件(如Xftp 6或MobaXterm)下载并解压Tomcat安装包至指定路径,启动Tomcat服务并测试访问。接着,修改Tomcat端口号以避免冲突,并部署Java Web应用项目至Tomcat服务器。最后,调整Linux防火墙规则,确保外部可以正常访问部署的应用。关键步骤包括关闭或配置防火墙、添加必要的端口规则,确保Tomcat服务稳定运行。
|
2月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
115 4
|
2月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
141 1
|
3月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
145 1
Linux系统之Centos7安装cockpit图形管理界面
|
2月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
161 3