ワテのブログ

The fundamental things apply As time goes by.

2017年4月19日水曜日

boostでjson : property_treeの使い方

スポンサーリンク

boostでjson : property_treeの使い方

jsonの読み込み

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

int main()
{
    using namespace boost::property_tree;

    ptree pt;
    read_json("/hoge/data.json", pt);

    return 0;
}

配列へのアクセス

{
    "array":[
        1,
        2,
        3,
        4
    ]
}

配列の要素はget_childにパスを指定して取得。
各要素はptreeとして取得される。
ptreeのsecondに要素が格納されている。

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

int main()
{
    using namespace boost::property_tree;

    ptree pt;
    read_json("/hoge/data.json", pt);

    for (auto elem : pt.get_child("array")) {
        std::cout << elem.second.data() << std::endl;
    }

/*
出力
1
2
3
4
*/

    return 0;
}
スポンサーリンク