jsoncpp的入门学习
发布时间:2020-12-16 19:17:22 所属栏目:百科 来源:网络整理
导读:JsonCpp是一个开源的跨平台库,实现C++与Json数据的解析与相互转换,轻量级,易使用。项目地址:http://jsoncpp.sourceforge.net/ 这里有个比较不错的介绍: http://www.cnblogs.com/kex1n/archive/2011/12/02/2272328.html 首先下载源码,编译,默认为vs71
JsonCpp是一个开源的跨平台库,实现C++与Json数据的解析与相互转换,轻量级,易使用。项目地址:http://jsoncpp.sourceforge.net/ 这里有个比较不错的介绍: http://www.cnblogs.com/kex1n/archive/2011/12/02/2272328.html
首先下载源码,编译,默认为vs71工程,我用的vs2010进行编译,可以直接编译通过。但是Release版本库使用时提示缺少 xxx.asm文件,解决办法: 在Release下 1) 打开lib_json -> Properties -> Configuration Properties -> C/C++ -> Output Files -> Assembler Output 如此编译后就不再依赖xxx.asm文件了。
下面贴两段代码: //JSON读取 std::string strValue="{"key1":"value1","array":[{"key2":"value2"},{"key2":"value3"},{"key2":"value4"}]}"; Json::Reader reader; Json::Value value; if(reader.parse(strValue,value)) { std::string out=value["key1"].asString(); std::cout<<out<<std::endl; const Json::Value arrayObj=value["array"]; for (int i=0; i < arrayObj.size();i++) { out=arrayObj[i]["key2"].asString(); std::cout<<out; if(i!=arrayObj.size()-1) std::cout<<std::endl;; } } //JSON写入 Json::Value root; Json::FastWriter writer; Json::Value user; Json::Value data; user["userAccount"] = "admin"; user["password"] = "123456"; user["username"] = "张三"; user["idcardno"] = "460033199004062314"; user["syscode"] = "01"; user["sysfunid"] = "0101"; data.append(user); root["data"] = data; std::string json_file = writer.write(root); std::ofstream ofs; ofs.open("test1.json"); assert(ofs.is_open()); ofs<<json_file; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |