在esp8266上,用cjson資料格式,封裝json時,發現使用cJSON_AddNumberToObject添加一個數值型別的失敗,列印封裝后的資料市空的,添加string型別又可以。在windows平臺下用vs2015測驗過cjson,也是沒問題的,在esp8266里面就出現鍵對應的值為空。列印結果如圖所示,代碼如下所示
cJSON *root = NULL;
char* out = NULL;
root=cJSON_CreateObject();
if(NULL == root) printf("cJSON_CreateObject err\n");
cJSON_AddNumberToObject(root,"type", 2);
cJSON_AddNumberToObject(root,"errorCode", code);
cJSON_AddStringToObject(root, "str", "str");
out=cJSON_Print(root);
if( NULL == out) printf("cJSON_Print err");
cJSON_Delete(root);
sendToUart((unsigned char *)out, strlen(out));
printf("send : %s\n",out);
free(out);

uj5u.com熱心網友回復:
cJson庫可能未實作cJSON_AddNumberToObject(原始碼里沒有找到這個函式),你可以先cJSON *cJSON_CreateNumber(double num) 資料物件,然后再
cJSON_AddItemToObjec
uj5u.com熱心網友回復:
謝謝回復,雖然問題沒有解決,我試過了,也是不行
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/228607.html
標籤:單片機/工控
上一篇:兩臺電腦的串口都是公口,一根母對母的線如何連接,422串口通信
下一篇:航順MCU
