码迷,mamicode.com
首页 > Web开发 > 详细

Boost解析json格式文本

时间:2015-04-01 17:49:10      阅读:637      评论:0      收藏:0      [点我收藏+]

标签:boost   property_tree   json   

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格式文本

标签:boost   property_tree   json   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!