加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

JSONCPP的API使用

发布时间:2020-12-16 19:22:21 所属栏目:百科 来源:网络整理
导读:JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。 同时也易于机器解析和生成。 它基于JavaScriptProgrammingLanguage,StandardECMA-2623rdEdition–December1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了

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();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读