【发布时间】:2016-04-26 14:44:34
【问题描述】:
有时创建 JSON 编码的字符串来表示和交换数据非常有用。 将 Boost 属性树编码为 JSON 字符串的最佳方法是什么?
【问题讨论】:
标签: json boost boost-propertytree
有时创建 JSON 编码的字符串来表示和交换数据非常有用。 将 Boost 属性树编码为 JSON 字符串的最佳方法是什么?
【问题讨论】:
标签: json boost boost-propertytree
这是执行该任务的示例代码:
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>
#include <boost/optional.hpp>
#include <iostream>
#include <sstream>
#include <cstdlib>
int main()
{
boost::property_tree::ptree pt;
pt.put("Test", "string");
pt.put("Test2.inner0", "string2");
pt.put("Test2.inner1", "string3");
pt.put("Test2.inner2", 1234);
std::stringstream ss;
boost::property_tree::json_parser::write_json(ss, pt);
std::cout << ss.str() << std::endl;
return 0;
}
使用 GCC 编译此代码:
g++ main.cpp -lboost_system -o SamplePT_JSON
这是预期的输出:
{
"Test": "string",
"Test2":
{
"inner0": "string2",
"inner1": "string3",
"inner2": "1234"
}
}
【讨论】: