JSON数据解析——jsoncpp的使用
版权所有,转载请注明:http://blog.sina.com.cn/u/1978765352
由于工作中需要用到JSON数据,所以解析JSON数据就成了一个非常重要的工作内容。
其实用C++解析数据是很繁杂的任务,涉及到很多的数据处理和数据安全问题。好在网上提供了很多的JSON解析库,其中不乏很优秀的,出于效率,还是使用这些第三方的库比较好。我使用的是jsoncpp,这是一个开源的C++的JSON解析库,我将写两篇博文来介绍如何使用jsoncpp,而本文将介绍jsoncpp的添加。
首先,需要在网上下载jsoncpp的程序文件,这里提供链接,无毒无公害,请放心使用:http://www.oschina.net/p/jsoncpp/ (我使用的是jsoncpp-src-0.6.0-rc2)
1、下载完成后解压,可以看到程序的目录
2、打开makefiles文件夹,里面是jsoncpp和两个test的工程,打开工程(我使用的编译环境是vs2008,原文件应该是vs2005下开发的,无碍,直接转换下就好了),红色方框部分就是jsoncpp的项目
3、编译jsoncpp项目,然后在程序目录的build文件夹下可以找到编译好的lib文件,debug和release下的文件名不同,debug下是json_vc71_libmtd.lib,release下是json_vc71_libmt.lib。
4、想要在我们的项目中加入jsoncpp库也很简单,只要把jsoncpp的项目的.h文件和.lib文件加入到我们的项目中就可以了,注意引用目录,然后编译看看有没有错误。
5、Debug模式下编译,应该是没有错误的,如果出现链接错误或者是找不到文件,请查看文件路径设置对不对。需要注意的是Release模式下编译,有可能会出现fatal error C1083: 无法打开编译器生成的文件:“../../build/vs71/release/lib_json\json_writer.asm”: No such file or directory ,我也出现了这个错误。后来在网上查找原因,好像是jsoncpp的项目编译设置的问题。需要在jsoncpp的项目设置中做如下修改:
6、替换新编译完成的lib文件,再编译,就可以通过了,呵呵。
当然,如果你直接把jsoncpp的项目文件全部拷贝到自己的项目中,也是可以的,但是出于项目管理考虑,还是使用lib比较好。
最后还要说下,下载来的程序使用的是win32的SDK,如果要在其他平台使用,最好是重新建立需要的平台项目(如WinCE),然后把jsoncpp的makefiles文件夹下的文件全部添加到新项目中,再编译。
下篇博文,将要介绍的是jsoncpp解析JSON数据的方法,敬请关注。
JSON数据解析——jsoncpp的使用的更多相关文章
- [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析
[DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 场景模拟 假设由于漏存JD SKU对应的店铺信息.这时我们需要重新完全采集所有 ...
- JSON数据解析 基础知识及链接收集
JSON数据解析学习 JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 是存储和交换文本信息的语法.类似 XML.但是JSON 比 ...
- 浅谈JSON数据解析方法
JSON数据解析 JSON是什么?? 如何把JSON数据解析出来 如何把一个字典转换为JSON JSON详细介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交 ...
- JSON数据解析(转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...
- JSON数据解析(GSON方式) (转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 在上一篇博文<Andro ...
- iOS - JSON 数据解析
iOS - JSON 数据解析 前言 NS_CLASS_AVAILABLE(10_7, 5_0) @interface NSJSONSerialization : NSObject @availab ...
- iOS开发笔记3:XML/JSON数据解析
这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法.XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSeri ...
- Silverlight项目笔记7:xml/json数据解析、TreeView、引用类型与数据绑定错误、图片加载、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题
1.xml/json数据解析 (1)xml数据解析 使用WebClient获取数据,获取到的数据实例化为一个XDocument,使用XDocument的Descendants(XName)方法获得对应 ...
- iOS学习—JSON数据解析
关于在iOS平台上进行JSON解析,已经有很多第三方的开源项目,比如TouchJson,JSONKit,SBJon等,自从iOS5.0以后,苹果SDK推出了自带的JSON解决方案NSJSONSer ...
随机推荐
- android网址
1. 优麒麟手机助手 https://github.com/ubuntu-kylin/phone_manager 2. http://forum.xda-developers.com/index.ph ...
- Linux下core文件产生的一些注意问题
前面转载了一篇文章关于core文件的产生和调试使用的设置,但在使用有一些需要注意的问题,如 在什么情况 才会正确地产生core文件. 列出一些常见问题: 一,如何使用core文件 1. 使用core文 ...
- hihoCoder 1092 : Have Lunch Together
题目大意:小hi和小ho去咖啡厅喝咖啡,咖啡厅可以看作是n * m的矩阵,每个点要么为空,要么被人.障碍物.椅子所占据,小hi和小ho想要找两个相邻的椅子.起初两个人都在同一个点,求两人到达满足要求的 ...
- javascript delete机制学习
想了解delete的机制缘起一个现象,我无法解释,也无法理解. 首先看一下下面这个例子: var x = 1; delete x; //false 然后我又执行了一次: y = 2; delete y ...
- 《Java程序员面试笔试宝典》之Java变量命名有哪些规则
在Java语言中,变量名.函数名.数组名统称为标识符,Java语言规定标识符只能由字母(a~z,A~Z).数字(0~9).下划线(_)和$组成,并且标识符的第一个字符必须是字母.下划线或$.此外,标识 ...
- 解决ActiveX Control异常:"没有注册类(异常来自 HRESULT:0x80040154(REGDB_E_CLASSNOTREG))"
问题背景: 1.我们的程序是用winform调用unity web player 插件来作为播放器在客户端播放动画文件的. 2.播放器是由我们的客户端程序调用的 3.客户端程序默认是以管理员身份启动的 ...
- xml入门简介--两天学会xml
前言 在很久以前,笔者曾见到过1000+页的xml书,里面还有n多的概念,XSL,Xquery,让人头痛.无奈最近需要用到,所以在w3c恶补了一下.以下大致整理了一下相关概念,但是对XSL等派生语言没 ...
- Android中获取apk基本信息
一 PackageManager可以获得的所有包节点信息: 1,所有节点的基类:PackageItemInfo: 2,PackageInfo:package的全面信息,与AndroidManifest ...
- 原来真的不会用指针[*p++]
Describe: 有2字节字符数据,需要转换成2字节的短整型,字符数据低字节在前. Analyse: 其实就是取一下数据,移位再或一下就好了,大伙都这样想的. Ex1: 假设tmp1就是短整型,p指 ...
- -canOpenURL: failed for URL
这在 Xcode 6.4 + iOS 8 时,是不会有的情况,原因是[为了强制增强数据访问安全, iOS9 默认会把所有从NSURLConnection . CFURL . NSURLSession发 ...