看其他解析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; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。