使用jsoncpp解析JSON数据
(转自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工程中在此就不赘述了。先看第一个读文件的例
// JSON文件
{
"address"
:
[
"name"
:
"eliteYang"
,
"email"
"elite_yang@163.com"
}
Crayon-sy" style="border:0px; margin:0px; padding:0px; font-family:inherit; font-size:inherit!important; line-height:inherit!important; height:inherit!important; color:rgb(51,
"AAA"
"aaa@163.com"
Crayon-sy" style="border:0px; margin:0px; padding:0px; font-family:inherit; font-size:inherit!important; line-height:inherit!important; height:inherit!important; color:rgb(51,
"BBB"
"bbb@163.com"
}
]
}
/**
* file : jsoncpp_test.cpp
* author : eliteYang
* email: elite_yang@163.com
* blog : http://www.cppfasn.org
* desc : json cpp test
*/
#include <fstream>
#include <string>
#include "jsoncpp/json.h"
int
_tmain
(
argc
_TCHAR
*
argv
[
)
{
std
::
ifstream
ifs
;
@H_403_177@ifs
.
open
(
"test.json"
)
;