picojson使ってみた。

2014年3月4日

折角、前回 curlを使ってみたので、HTTPの通信で使いそうなJSON形式を扱うライブラリを探してみた。
どうも、picojsonというのが軽くて使いやすいらしい。
ということで探し見ると、なんと、ヘッダファイルのみだ!!
https://github.com/kazuho/picojson
ほほう、これは導入が楽そうだ。
早速使ってみる。まずはjson解析。

const char* const data = "{\"user\":\"koheizi\",\"age\":\"unknown\"}";
picojson::value val;
picojson::parse(val, data, data + strlen(data));

おおお、簡単簡単。今度はjson作ってみる。

picojson::object obj;
obj["user"] = static_cast("koheizi");
obj["age"] = static_cast("unknown");
picojson::value val(obj);
cout << val.serialize() << endl;

これは、素晴らしい。
調子にのってstringをparseしてみた。

std::string test("{\"user\":\"koheizi\",\"age\":\"unknown\"}");
picojson::value val;
picojson::parse(val, test.begin(), test.end());

あれ?上手くいかない。なんか使い方間違ってるっぽい。
ここで解析出来ないあたりが最底辺!!
分かる方いたら、教えて下さいませ。

c++

Posted by koheizi