Skip to content

Instantly share code, notes, and snippets.

@usagi
Last active August 29, 2015 14:00
Show Gist options
  • Select an option

  • Save usagi/11179731 to your computer and use it in GitHub Desktop.

Select an option

Save usagi/11179731 to your computer and use it in GitHub Desktop.
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <boost/property_tree/ini_parser.hpp>
auto main() -> int
{
using namespace boost::property_tree;
ptree p;
p.put("gk1", 100);
p.put("gk2", 200);
p.put("a.k1", 123);
p.put("a.k2", "string");
p.put("a.k3", 3.45);
p.put("gk1", 10);
p.put("gk2", 20);
p.put("gk3", 30);
p.put("b.k1", 3.14f);
p.put("a.k2", "STRING");
p.put("a.k4", __LINE__);
std::cout << "\n --- JSON --- \n";
write_json( std::cout, p );
std::cout << "\n --- XML ---\n";
write_xml( std::cout, p );
std::cout << "\n --- INI ---\n";
write_ini( std::cout, p );
}
--- JSON ---
{
"gk1": "10",
"gk2": "20",
"a":
{
"k1": "123",
"k2": "STRING",
"k3": "3.45",
"k4": "26"
},
"gk3": "30",
"b":
{
"k1": "3.14"
}
}
--- XML ---
<?xml version="1.0" encoding="utf-8"?>
<gk1>10</gk1><gk2>20</gk2><a><k1>123</k1><k2>STRING</k2><k3>3.45</k3><k4>26</k4></a><gk3>30</gk3><b><k1>3.14</k1></b>
--- INI ---
gk1=10
gk2=20
[a]
k1=123
k2=STRING
k3=3.45
k4=26
gk3=30
[b]
k1=3.14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment