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

JSONCPP库在C++中的使用与实践 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于网络数据传输。JSONCPP库是一个开源的C++库,用于解析和生成JSON格式数据。它允许C++程序以面向对象的方式处理JSON数据,使得数据交换变得更加便捷和高效。JSONCPP的主要用途包括但不限于网络通信、数据存储和配置文件管理。通过使用JSONCPP库,开发者可以不必关心复杂的JSON格式细节,专注于业务逻辑的实现。 阅读详情

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++使用json库解析库源码以及相关编译 主要是linux使用C或者C++下面使用动态库方式调用json库进行解析json返回的报文。 立即下载

相关推荐

ArcGIS Maps SDK for Unity实战:把真实世界地形‘搬进’游戏场景的保姆级教程

本文详细介绍了如何使用ArcGIS Maps SDK for Unity将真实世界地形导入游戏场景的完整流程。从高程数据获取、TPKX格式转换到Unity中的地形集成与优化,提供了保姆级教程,帮助开发者快速实现高精度地形建模,特别适用于开放世界游戏和数字孪生项目。

weixin_30621465的博客 347

Linux环境下C++配置Json库

1.创建一个json文件夹,使用Xftp将压缩包导入文件夹。3.进入到 jsoncpp-src-0.5.0目录中执行。进入scons-2.1.0目录中执行。下,并为了方便使用,将其重命名为。5、拷贝出Json的静态链接库。目录下的json文件夹拷贝到。4.拷贝出Json的头文件。1、下载Jsoncpp。9 编译链接时 要加。

Anterior_condyle的博客 749

【SABRE 3D, SABRE 3DxT,LAM设备】2025年9月10日

前文:SABRE 3D系列机台简介本章节详细阐述了在维护期间锁定电气、机械、热力学及重力组件以及化学管线输入的锁定操作流程,旨在降低人员受伤风险。p42~p55。

weixin_46735260的博客 1616

json库——jsoncpp

Notation)是一种轻量级的数据交换格式,常用于在不同系统之间传输和存储数据。它具有以下特点:可读性:JSON使用文本格式表示数据,易于阅读和理解。它采用了类似于JavaScript对象的键值对的形式来组织数据。简洁性:JSON的语法非常简洁,相比于其他数据格式(如XML),它的数据表示更为紧凑,节省了传输和存储空间。支持多种数据类型:JSON支持多种基本数据类型,包括字符串、数字、布尔值、数组、对象和null。这使得JSON非常灵活,可以表示各种类型的数据结构。

qq_43441284的博客 1万+

从材料到磁场:ANSYS Workbench永磁体仿真全流程解析

本文详细解析了在ANSYS Workbench中进行永磁体仿真的完整流程。从钕铁硼等永磁材料的特性讲起,逐步指导如何在软件中搭建模型、定义关键磁化方向、设置边界条件与网格划分,并解读磁场分布结果。文章旨在帮助工程师掌握静磁场仿真核心技术,为电机、传感器等设备的设计与优化提供精准指导。

weixin_29229989的博客 273

别再只调包了!深入理解机器学习虚拟筛选中的分子指纹(ECFP/Morgan)

本文深入探讨了ECFP/Morgan分子指纹在机器学习虚拟筛选中的应用与优化策略。通过解析半径参数与比特长度的化学意义,揭示了如何通过参数调优提升模型性能20%以上,特别适用于药物发现领域的高通量筛选。文章还提供了工程实践中的参数优化策略和多指纹融合技术,为开发者提供从理论到实践的全面指导。

weixin_33704234的博客 829

Linux系统下如何使用C++解析json文件详解

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。下面这篇文章主要给大家介绍了关于Linux系统下如何使用C++解析json文件的相关资料,需要的朋友可以参考下 1. 背景 工作需要,下班回来自己造轮子,记录以后查阅。 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,本文主要Linux下使用Jsoncpp解析json的方法做一下记录。 2. 关于jsoncpp库的使用简介..

二进制模----细微行动改变影响世界 3282

Windows下用Anaconda安装d2l库避坑指南(附PermissionError解决方案)

本文详细介绍了在Windows系统下使用Anaconda安装d2l库的完整指南,特别针对常见的PermissionError问题提供了多种解决方案。从环境准备到库安装,再到VSCode配置和数据路径处理,帮助读者顺利搭建深度学习环境并运行《动手学深度学习》的代码示例。

3a9bq4r8t2y的博客 226

linux下使用C++ Json库

安装Json库 1、下载JsonCpp http://sourceforge.net/projects/jsoncpp/files/ 2、下载scons http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download 3、解压scons-2.1.0.tar.gz

qq1010234991的博客 2439

【高级-RAG-优化方法】

本文介绍了两种优化RAG(检索增强生成)系统的高级方法。第一部分介绍KnowFlow项目,它采用父子分块技术,将文档分为父分块(800-1500字符)和子分块(200-400字符),通过精确匹配子分块再返回父分块内容来保证搜索精确性和上下文完整性。第二部分探讨Milvus的多种增强技术,包括查询增强(如假设问题生成、回溯提示)、索引增强(自动合并块、分层索引)、检索器增强(句子窗口检索、元数据过滤)、生成器增强(提示压缩、块排序)以及管道增强(自我反省、代理查询路由)。这些方法共同提升了RAG系统的检索效率

weixin_48585108的博客 960

MCP开发实战:基于openEuler系统MCP插件的开发、测试与发布全流程

MCP开发实战:基于openEuler系统MCP插件的开发、测试与发布全流程

jks212454的博客 555

linux下使用VSCode的C++添加json问题。

linux下使用VSCODE调用Cmake生成json库

m0_60217798的博客 1698

在 ABAP 世界把 SAML 2.0 玩明白:跨域 SSO 的通信模式、配置路径与落地实践

摘要 SAML 2.0是ABAP平台实现标准化SSO的推荐方案,提供Front-Channel(浏览器传递SAML报文)和Back-Channel(使用工件绑定通过SOAP兑换断言)两种通信方式。前者包括HTTP Redirect和POST绑定,后者通过Artifact绑定提升安全性。配置重点包括:激活ICF服务、使用SAML2事务码建立信任、设置用户标识映射、选择绑定方式(POST易调试、Artifact更安全)及配置安全策略(签名/加密)。典型流程包括SP-initiated和IdP-initiated

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 293

linux下cpp字符串定义,Linux平台下C++使用JsonCPP解析Json字符串

JsonCPP安装安装 sconstar -zvxf scons-2.1.0.tar.gz进入到解压目录scons-2.1.0,执行命令:sudo python setup.py install安装 JsonCPPtar -zvxf jsoncpp-src-0.5.0.tar.gz进入到jsoncpp解压目录下,执行命令:sudo scons platform=linux-gcc还要以下两步操作:...

weixin_33941707的博客 185

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

linux下cpp字符串定义,Linux平台下C++使用JsonCPP解析Json字符串(示例代码)

JsonCPP安装安装 sconstar -zvxf scons-2.1.0.tar.gz进入到解压目录scons-2.1.0,执行命令:sudo python setup.py install安装 JsonCPPtar -zvxf jsoncpp-src-0.5.0.tar.gz进入到jsoncpp解压目录下,执行命令:sudo scons platform=linux-gcc还要以下两步操作:...

weixin_42665255的博客 149

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

qt linux用js0,Qt 下的JSSON使用

一、JSON描述JSON(JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of t...

weixin_39855634的博客 134

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Jsoncpp编译与使用方法总结

Jsoncpp编译与集成方法总结 1. 前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,非常易于人阅读和编写,同时也易于机器解析和生成, 它是基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Per

白云之道 3419

JsonCpp--快速上手使用C++对json文件的读写(Linux)

使用JsonCpp库来辅助C++对JSON文件进行读写

m0_73800387的博客 1899

c++json库(jsoncpp)简单使用(包含下载使用方法,中文错误解决方案)

c++json库(jsoncpp)简单使用方法(含下载) 下载地址: jsoncpp的github仓库地址:open-source-parsers/jsoncpp: A C++ library for interacting with JSON. (github.com) 使用: 最简单的一种使用方式,使用.h和.cpp文件和你的项目一起编译 怎么获取.h和.cpp呢?看以下操作 打开你下载的jsoncpp文件夹 双击运行amalgamate.py文件(需要有python环境) 操作后,会

luxpity的博客 5万+

c++json解析-jsoncpp的使用

c++中解析json大多数都用jsoncpp这个库,但jsoncpp下载下来的一堆文件看不懂,实际上在项目中使用的话需要二次编译。我希望编译出来的文件能简单且在windows和linux上同时使用,但网上并没有对此作出详细介绍,自己总结了一下,并简单封装了json解析使用json有两种方法,一种是直接使用json的.cpp和.h文件,另一种是编译出静态链接库,在项目中使用静态库。......

小土同学的博客 2086

Linux系统C++开发工具(四)—— jsoncpp 使用指南

本文介绍了JSON的概念及其在网络通信中的应用。JSON是一种轻量级数据交换格式,可用于解决TCP传输中的粘包问题。文章详细说明了JSON的数据存取方式、序列化与反序列化操作,通过Json::Value类存储和访问数据,使用StreamWriter进行序列化,CharReader进行反序列化。最后给出了一个C++示例程序,展示如何实现JSON数据的序列化和反序列化操作。该示例包含了数据构建、序列化、反序列化以及结果输出的完整流程,并附有编译方法。JSON格式因其简洁性和跨平台特性,在数据传输领域具有重要应用

2302_80105876的博客 2116

jsoncpp解析json报文测试

JSON 的全称为:JavaScript Object Notation,顾名思义,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传输格式。 1、jsoncpp库下载 jsoncpp 是比较出名的 C++ JSON 解析库。在 JSON 官网也是首推的。 下载地址为:https://github.com/open-sou...

destiny的专栏 677
上一篇: Windows下Go安装&环境配置&编译运行
下一篇: 解决ERROR 1130: Host 'x.x.x.x' is not allowed to connect to this MariaDB server 方法
「已注销」
博客等级 码龄7年 22粉丝 160原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值