LoginSignup
8
7

More than 5 years have passed since last update.

picojsonで、jsonデータを作る処理

Posted at

コード内部で、0からjsonデータを作っていく処理

    picojson::object license;
    picojson::array datalist;

    {
        picojson::object data;
        data.insert(std::make_pair("unixtime", picojson::value(static_cast<double>(::time(nullptr)))));
        data.insert(std::make_pair("key", picojson::value("1111111111")));

        picojson::object id;
        id.insert(std::make_pair("id", picojson::value(1.0)));
        id.insert(std::make_pair("data", picojson::value(data)));

        datalist.push_back(picojson::value(id));
    }

    {
        picojson::object data;
        data.insert(std::make_pair("unixtime", picojson::value(static_cast<double>(::time(nullptr)))));
        data.insert(std::make_pair("key", picojson::value("2222222222")));

        picojson::object id;
        id.insert(std::make_pair("id", picojson::value(2.0)));
        id.insert(std::make_pair("data", picojson::value(data)));

        datalist.push_back(picojson::value(id));
    }

    license.insert(std::make_pair("license", picojson::value(datalist)));

    std::cout << picojson::value(license) << std::endl;

出力結果

{"license":[{"data":{"key":"1111111111","unixtime":1507857663},"id":1},{"data":{"key":"2222222222","unixtime":1507857663},"id":2}]}

整形した内容

{
    "license": [
        {
            "data": {
                "key": "1111111111", 
                "unixtime": 1507857663
            }, 
            "id": 1
        }, 
        {
            "data": {
                "key": "2222222222", 
                "unixtime": 1507857663
            }, 
            "id": 2
        }
    ]
}
8
7
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7