首页 > Web开发 > 详细

Boost解析json格式文本

时间:2015-04-01 17:47:04      阅读:248      评论:0      收藏:0      [点我收藏+]
Boost解析json格式文本


flyfish 2015-4-1


property_tree可以解析ini,xml,json,info等格式的文本

以下示例是解析json格式的文本


需要包含的头文件

#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>

const std::string file_path="C:\\test.txt";



生成数据
void generate_user()
{
	boost::property_tree::ptree root; 
	boost::property_tree::ptree items;


	
	boost::property_tree::ptree item1;
	item1.put("ID","1");
	item1.put("Name","wang");
	items.push_back(std::make_pair("1",item1));




	boost::property_tree::ptree item2;
	item2.put("ID","2");
	item2.put("Name","zhang");
	items.push_back(std::make_pair("2",item2));


	boost::property_tree::ptree item3;
	item3.put("ID","3");
	item3.put("Name","li");
	items.push_back(std::make_pair("3",item3));


	root.put_child("user",items);
	boost::property_tree::write_json(file_path,root);
}




读取数据
void read_user()
{


	boost::property_tree::ptree root;
	boost::property_tree::ptree items;
	boost::property_tree::read_json<boost::property_tree::ptree>(file_path,root);


	items=root.get_child("user");
	for (boost::property_tree::ptree::iterator it=items.begin();it!=items.end();++it)
	{
//遍历读出数据
		string key=it->first;//key ID
		string ID=it->second.get<string>("ID");
		string Name=it->second.get<string>("Name");


	}
}



文件中的数据
{
    "user": {
        "1": { "ID": "1","Name": "wang"},
        "2": { "ID": "2","Name": "zhang"},
        "3": { "ID": "3", "Name": "li"}
    }
}



Boost解析json格式文本

原文:http://blog.csdn.net/flyfish1986/article/details/44808157

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!