首先, C++ 解析json串,需要用到第三方庫(json_vc71_libmtd.lib)。然后,VS2010,創建項目json_read, 配置項目屬性。最后,拷貝下面的代碼就可以看到效果了。
#include "stdafx.h" #include "../json/include/json.h" int _tmain(int argc, _TCHAR* argv[]) { const char * str = "{\"machineCode\":\"20:20:20:20:20:20:57:4c:31:30:59:31:4d:56\",\"makeTime\":1534485879,\"sysCapacity\":{\"rptMaxNum\":2},\"trialTime\":30}"; printf("json 串:%s\n", str); Json::Reader reader; Json::Value root; if(reader.parse(str,root)) { std::string machineCode = root["machineCode"].asString(); long long makeTime = root["makeTime"].asUInt(); int rptMaxNum = root["rptMaxNum"].asInt(); int trialTime = root["trialTime"].asInt(); printf("解析json串之后的值:\n"); printf("machineCode = %s\n",machineCode.c_str()); printf("makeTime = %ld\n",makeTime); printf("rptMaxNum = %d\n",rptMaxNum); printf("trialTIme = %d\n",trialTime); Json::Value & sysCapacity = root["sysCapacity"]; int rpt = sysCapacity["rptMaxNum"].asInt(); printf("rptMaxNum = %d\n",rpt); } system("pause"); return 0; }
附I:json在線格式化工具
附II:項目用到第三方庫資源,有庫,有頭文件的時候,建議分類創建一個文件夾,便於閱讀和重用。
附錄III:運行結果