1. 程式人生 > >Arduino構建與解析Json字串例項

Arduino構建與解析Json字串例項

目錄

Json目前在網路通訊中已經是一種非常常見的資料格式了,ArduinoJson庫的作用就是為了在Arduino中輕鬆實現對Json字串的解析和構建。加下來將介紹ArduinoJson的基本功能、解析例項、構建例項。

ArduinoJson

介紹

ArduinoJson(全稱:ArduinoJson-C++ JSON Library for IoT) 是嵌入式系統中優雅和高效的Json庫。它僅使用最基本的API,確保工作時消耗最小的記憶體空間。雖然它的命名中包含“Arduino”,但事實上並沒有引用Arduino的任何庫檔案,因此ArduinoJson可以應用在任何的C++專案中。

支援的平臺

包含但不限於下述環境:
Arduino系列開發板:Uno、DueMini、Micro、Yun等。
ESP系列晶片:ESP8266, ESP32
Teensy
RedBearLab系列開發板:BLE Nano
Intel系列開發板:Edison(愛迪生)、Galileo(伽利略)
WeMos系列開發板:D1、D2
作業系統: Windows, Linux, OSX…
PlatformIO
Particle
Energia

示例程式碼

解析(解碼)

char json[] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}"
; StaticJsonBuffer<200> jsonBuffer; JsonObject& root = jsonBuffer.parseObject(json); const char* sensor = root["sensor"]; long time = root["time"]; double latitude = root["data"][0]; double longitude = root["data"][1];

構建(編碼)

StaticJsonBuffer<200> jsonBuffer;

JsonObject& root = jsonBuffer.createObject();
root["sensor"
] = "gps"; root["time"] = 1351824120; JsonArray& data = root.createNestedArray("data"); data.add(48.756080); data.add(2.302038); root.printTo(Serial);

輸出結果:{“sensor”:”gps”,”time”:1351824120,”data”:[48.756080,2.302038]}

下載連結與API資料