ヘッダファイルだけで実装できる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>();