stm32 cjson 解析json数据实例
2016-12-06 14:36
369 查看
在单片机使用到json解析数据时,可以直接引用第三方解析库,如cjson。从地址https://github.com/DaveGamble/cJSON下载最新版本,然后从中直接提取cJSON.c、cJSON.h、cJSON_Utils.c和cJSON_Utils.h。由于cjson全部都是用c语言来写,所以单片机一般都可以直接使用。
下面以实际例子来分析一下如何解析json数据:
下面以实际例子来分析一下如何解析json数据:
char* pszJsonText = "{\"result\":{\"id\":1,\"name\":\"aa\",\"datetime\":\"2016-04-25 16:38:54\",\"status\":1}, \ \"code\":10000,\"message\":\"ok\",\"sign\":901498365}"; typedef struct { u32 cID; char *pName; char *datetime; u8 cStatus; }SCAN_CODE_LIST_MEM_TypeDef; SCAN_CODE_LIST_MEM_TypeDef g_stScanCodeListMem; u8 ParseScanCodeJson(const char* pszJsonText) { cJSON *root, *result; u32 code=0; u8 ret = FALSE; //将json数据解析成json结构体 root= cJSON_Parse(pszJsonText); if (root) { //从根节点获取code元素的值 int型 code = cJSON_GetObjectItem(root, "code")->valueint; if(code != 10001) { //从根节点获取result节点 result = cJSON_GetObjectItem(root, "result"); if (result) { //从result节点获取各个元素的值 g_stScanCodeListMem.cID = cJSON_GetObjectItem(result, "id")->valueint; //int 型 g_stScanCodeListMem.pName = cJSON_GetObjectItem(result, "name")->valuestring;//字符串型 g_stScanCodeListMem.datetime = cJSON_GetObjectItem(result, "datetime")->valuestring;//字符串型 g_stScanCodeListMem.cStatus = cJSON_GetObjectItem(result, "status")->valueint;//int 型 //保存扫描用户的名字 把id值也作为一个参数存入 WriteScanCodeName(g_stScanCodeListMem.pName, g_stScanCodeListMem.cID); #ifdef DEBUG_APP_TASK printf("\r\n"); printf(" cID:%d ", g_stScanCodeListMem.cID); printf(" pName:%s", g_stScanCodeListMem.pName); printf(" datetime:%s ", g_stScanCodeListMem.datetime); printf(" cStatus:%d ", g_stScanCodeListMem.cStatus); printf("\r\n"); #endif ret = TRUE; } } //释放资源 cJSON_Delete(root); } return ret; }
相关文章推荐
- 一个JSON 实例 jQuery 解析JSON数据
- jquery解析JSON数据实例代码
- android解析json数据的详解实例
- jQuery解析json格式数据简单实例
- jQuery解析json数据实例分析
- asp.net和Jquery中详细解析json数据格式!(有实例)
- 本文以实例形式展示了php解析json数据的方法
- 一个JSON 实例: jQuery 解析JSON数据
- 使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解
- UE4 WCF RestFul 服务器 读取JSON 数据并解析 简单实例
- Google Gson解析Json数据应用实例
- php解析json数据实例
- fastjson数据解析实例
- android针对json数据解析方法实例分析
- Google Gson解析Json数据应用实例
- php解析json数据二种实例方法
- 一个JSON 实例 jQuery 解析JSON数据
- Android中对Json数据解析实例(网络访问的问题)
- jQuery解析json数据实例分析
- Android 解析后台返回为Json数据实例教程