JSONCPP的API使用

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。

同时也易于机器解析和生成。

它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。


这些特性使JSON成为理想的数据交换语言。


JsonCpp 是一个C++用来处理JSON 数据的开发包。

以下是一些常用的API。




网址:http://jsoncpp.sourceforge.net/

下载编译参照网上



1,解析(json字符串转为对象)

std::string strDataJson;

Json::Reader JReader; 

Json::Value JObject;

if (!JReader.parse(strDataJson, JObject))

{

cerr << "parse json error." << endl;

return bSuccess;

}


2,读取

std::string strMsg = JRec["msg"].asString();

int nRetCode = JRec["ret"]..asInt();

Json::Value JList = JRec["data"]["list"];

int nSize = JList.size();


获取错误信息: JReader.getFormatedErrorMessages()


3,增加或修改

JRoot["stringdata"] = Json::Value("msg");

JRoot["intdata"] = Json::Value(10);


4,删除

JValue.removeMember("toberemove");


5,对象转为字符串

Json::FastWriter fast_writer;

strJRecList = fast_writer.write(JRoot);


//格式化之后的json,有回车换行符

std::string strOut = JRoot.toStyledString();

你可能感兴趣的:(JSONCPP的API使用)