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

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
2) 更改为No Listing

如此编译后就不再依赖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;

(编辑:李大同)

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

    推荐文章
      热点阅读