お手軽jsonパーサー&シリアライザーPicoJSONの使い方

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