ヘッダファイルだけで実装できるjsonパーサー&シリアライザー。
std::map<>を使って直感的にアクセスできる。
シリアル化
#include "picojson.h" ... std::map<std::string,picojson::value> data; data["mojiretsu"] = picojson::value(_T("文字列")); data["BOOLvalue"] = picojson::value(true); std::string sJson; picojson::value v(data); sJson = v.serialize();
パース
#include "picojson.h" ... std::string json = "ここにjsonデータ"; picojson::value v; std::string err = picojson::parse(v, json); if (! err.empty()) { AfxMessageBox(_T("設定ファイルのパースに失敗しました。")); return FALSE; } std::map<std::string, picojson::value> data = v.get<picojson::object>(); std::string mbTemp mbTemp = data["mojiretsu"].get<std::string>(); bool tmpBool; tmpBool = data["BOOLvalue"].get<bool>();