[已解决]在MQTT中的TCP样例中,在接受中断里添加cjson解析的部分
Posted: Thu Dec 08, 2022 6:12 am
- case MQTT_EVENT_DATA:
- ESP_LOGI(TAG, "MQTT_EVENT_DATA");
- printf("TOPIC=%.*s\r\n", event->topic_len, event->topic);
- printf("DATA=%.*s\r\n", event->data_len, event->data);
- // 创建json数据解析对象
- pJsonRoot = cJSON_Parse(event->data);
- //如果是否json格式数据
- if (pJsonRoot !=NULL)
- {
- printf("Data NULL!\r\n");
- }
- // 解析数据
- // char bssid[23] = {0};
- pJsonRoot = cJSON_GetObjectItem(pJsonRoot, "msg"); // 解析msg字段字符串内容
- ESP_LOGI(TAG, "Data=%s", cJSON_Print(pJsonRoot));
- // 释放内存
- // cJSON_Delete(pJsonRoot);
- break;
如果把输出的部分删除,就不会出现重启的情况,将输出部分改为printf也会报错
请问一下,如果我需要在这里添加cjson解析代码并将获取到的数据输出出去,应该如何修改代码? 这个是通过命令查看到的位置,就是代码中的第十五行。