ESP8266是一種廣泛應用于物聯網(IoT)項目的微控制器。在實現互聯設備之間數據通信的過程中,經常需要使用JSON格式來序列化和解析數據。本文將介紹ESP8266如何解析JSON格式數據。
首先,需要將收到的JSON字符串反序列化為JSON對象。為了實現這個過程,可以先定義一個緩沖區來存儲HTTP請求響應數據:
String jsonStr = "{'name': 'John', 'age': 30}"; // 使用 ArduinoJSON 庫解析 JSON 數據 DynamicJsonDocument doc(1024); // 反序列化 JSON 對象 DeserializationError error = deserializeJson(doc, jsonStr); // 檢查錯誤碼 if (error) { Serial.print(F("deserializeJson() failed: ")); Serial.println(error.f_str()); return; }
接下來,可以通過鍵來訪問JSON對象中的值:
// 獲取 name 值 const char* name = doc["name"]; // 獲取 age 值 int age = doc["age"];
如果需要訪問JSON對象中的嵌套值,可以通過連接鍵來實現:
String jsonStr = "{'person': {'name': 'John', 'age': 30}}"; DynamicJsonDocument doc(1024); DeserializationError error = deserializeJson(doc, jsonStr); if (error) { Serial.print(F("deserializeJson() failed: ")); Serial.println(error.f_str()); return; } // 獲取嵌套對象的值 const char* name = doc["person"]["name"]; int age = doc["person"]["age"];
在使用ESP8266解析JSON數據時,需要小心避免內存錯亂和數據類型錯誤。此外,ArduinoJSON庫不支持所有的JSON格式,因此需要仔細查閱文檔以確認其支持的格式。
上一篇vue cur文件
下一篇python 顯示求和值