ArduinoJSON:處理快閃記憶體字串


反序列化的語法如下 −

deserializeJson(doc, json)

其中 doc 是您將儲存反序列化輸出的 JSON 文件,而 json 是包含 JSON 內容的緩衝區。

好訊息是,緩衝區可以直接從 PROGMEM 中獲取。換句話說,如果您不想將一個較大的 JSON 字串儲存到 RAM 中,可以使用 F() 宏將其儲存到程式記憶體或快閃記憶體中,並且反序列化可以正常工作。

示例

例如,以下程式碼段可以正常工作。

StaticJsonDocument<200> doc;
DeserializationError error = deserializeJson(doc,
F("{\"name\":\"Yash\",\"designation\":\"student\"}") );

現在,您可以繼續從 doc 中提取值。

String name = doc["name"];

同樣,快閃記憶體字串可以用於構建 JSON(序列化)

doc["name"] = F("Yash");

這有助於節省 RAM。預設情況下,每個硬編碼的字串都儲存在 RAM 中。如果您的應用程式包含大量這樣的字串,那麼 RAM 可能會不堪重負。在這裡,快閃記憶體字串可以提供很大的幫助。

您還可以參考內建的 ProgmemExample 來檢視更多有關如何處理快閃記憶體字串的示例。

更新於:2021 年 7 月 26 日

163 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.