看其他解析json的,没有满足自己的,贴一个自己的:
#include <stdio.h> #include <stdlib.h> #include <string> #include "cJSON.h" int _tmain(int argc,char* argv[]) { /*{ "ab": "cd","ef" : { "ab": "cd","ef" : "gh" } }*/ std::string str = "{\"ab\": \"cd\",\"ef\" : \"{\\\"ab\\\": \\\"cd\\\",\\\"ef\\\": \\\"gh\\\"}\"}"; cJSON *strJson = cJSON_Parse(str.c_str()); int iSize = cJSON_GetArraySize(strJson); for (int iCnt = 0; iCnt < iSize; iCnt++) { cJSON * pSub = cJSON_GetArrayItem(strJson,iCnt); if (NULL == pSub) { continue; } std::string key = pSub->string; std::string value = pSub->valuestring; printf("%s:%s\n",key.c_str(),value.c_str()); } cJSON_Delete(strJson); return 0; }原文链接:https://www.f2er.com/json/289773.html