C++的Json解析库:jsoncpp和boost

C++的Json解析库:jsoncpp和boost - hzyong_c的专栏 - 博客频道 - CSDN.NET

分类: 网络编程 开源库 2011-12-29 23:57 19988人阅读 评论(7) 收藏 举报
 
 

JSON(JavaScript Object Notation)跟xml一样也是一种数据交换格式,了解json请参考其官网http://json.org,本文不再对json做介绍,将重点介绍c++的json解析库的使用方法。json官网上列出了各种语言对应的json解析库,作者仅介绍自己使用过的两种C++的json解析库:jsoncpp(v0.5.0)和Boost(v1.34.0)。

 一. 使用jsoncpp解析json

Jsoncpp是个跨平台的开源库,首先从http://jsoncpp.sourceforge.net/上下载jsoncpp库源码,我下载的是v0.5.0,压缩包大约107K,解压,在jsoncpp-src-0.5.0/makefiles/vs71目录里找到jsoncpp.sln,用VS2003及以上版本编译,默认生成静态链接库。 在工程中引用,只需要include/json及.lib文件即可。

 使用JsonCpp前先来熟悉几个主要的类: 

Json::Value     可以表示里所有的类型,比如int,string,object,array等,具体应用将会在后边示例中介绍。

Json::Reader   将json文件流或字符串解析到Json::Value, 主要函数有Parse。

Json::Writer    与Json::Reader相反,将Json::Value转化成字符串流,注意它的两个子类:Json::FastWriter和Json::StyleWriter,分别输出不带格式的json和带格式的json。

 1. 从字符串解析json

上一篇:标签区别


下一篇:ASP.NET:Forms身份验证和基于Role的权限验证