使用jsoncpp解析JSON数据(转)

本文介绍jsoncpp库的基本概念及使用方法,包括如何编译jsoncpp、读取JSON文件内容以及向JSON文件中添加数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://www.cppfans.org/1445.html

1.jsoncpp是什么?

jsoncpp是一个使用C++语言来解析json文件的开源库,其项目地址为:http://sourceforge.net/projects/jsoncpp/,属于免费项目,任何人都可以下载使用

2. 编译jsoncpp

jsoncpp文件中提供了vs71的工程文件以及makerelease.py文件,用来编译,里面分为jsontest、lib_json、test_lib_json三个工程,按照自己需要的编译。

注意:如果使用VS默认的编译选项MTd或者MT,在使用json_libmtd.lib的时候可能会出现LNK2038错误(我使用的VS2012 vc110环境)所以请修改MTD为MDd,MT为MD

3.使用jsoncpp读JSON文件

如何将lib库添加进VS工程中在此就不赘述了。先看第一个读文件的例

结果:

跟我们文件中的数据完全一致。

4.使用JSON写入一块数据

我们继续使用上述文件,在中间加上一块数据。我们插入一个新的{"name": "append", "email": "append@163.com"}

结果:


当然了,jsoncpp对数组的解析也支持STL中迭代器的风格,不过我个人觉得还是数组好理解一些。迭代器的解析风格就不写了,大家可以自己摸索下,主要是使用Json::Value::Members。

JSON官方还是非常推荐用jsoncpp来解析JSON文件的,大家也看到了,确实比较方便。

btw.因为这两天笔记本散热不好,所以接了套螺丝刀将笔记本大卸八块,扫了扫灰,然后又装上了,结果神奇的就好了,果然是贱啊,欠拆。所以json系列的文章就晚了几天,非常抱歉,好了,不早了,该睡觉了,各位晚安。

本文固定链接:http://www.cppfans.org/1445.html | C++爱好者博客


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值