JSONCPP的API使用

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

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

它基于JavaScriptProgrammingLanguage,StandardECMA-2623rdEdition–December1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。


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


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

以下是一些常用的API。




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

下载编译参照网上



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

std::stringstrDataJson;

Json::ReaderJReader;

Json::ValueJObject;

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

{

cerr<<"parsejsonerror."<<endl;

returnbSuccess;

}


2,读取

std::stringstrMsg=JRec["msg"].asstring();

intnRetCode=JRec["ret"]..asInt();

Json::ValueJList=JRec["data"]["list"];

intnSize=JList.size();


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


3,增加修改

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

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


4,删除

JValue.removeMember("toberemove");


5,对象转为字符串

Json::FastWriterfast_writer;

strJRecList=fast_writer.write(JRoot);


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

std::stringstrOut=JRoot.toStyledString();

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...