下雪了

【Boost】对JSON的操作

头文件:

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

用法:

void encode()
{
    /*
    将形如:
    {
        "data":
        {
            "key":"value";
        }
    }
    的JSON文本转为string字符串
    */
    
    ptree root, data;
    stringstream ss;
    
    //创建data
    data.put("key", "value");
    
    //放入data
    root.put_child("data", data);
    
    //将JSON文本写入字符流
    write_json(ss, root);
    
    //读出字符串
    string json = ss.str();
}



void decode(string json)
{
    /*
    解析形如
    {
        "data":
        {
            "key":"value";
        }
    }
    的JSON文本到string中
    */
    ptree root, data;
    
    //将字符串读入字符流
    stringstream ss(json);
    
    //读出JSON格式的文本
    read_json(ss, root);
    
    //分离出data
    data = root.get_child("data");
    
    //分离出key,value
    string value = data.get & lt; string& gt; ("key");
}

 


Add Your Comment

* Indicates Required Field

Your email address will not be published.

*