Arduino解析json字符串的例子
时间: 2023-08-13 18:12:27 浏览: 177
下面是一个简单的Arduino解析JSON字符串的例子:
```c++
#include <ArduinoJson.h>
void setup() {
Serial.begin(9600);
}
void loop() {
// JSON字符串
const char* json = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
// 创建JSON缓冲区
StaticJsonDocument<200> doc;
// 解析JSON字符串
DeserializationError error = deserializeJson(doc, json);
// 如果解析成功
if (error == DeserializationError::Ok) {
// 从JSON对象中获取值
const char* name = doc["name"];
int age = doc["age"];
const char* city = doc["city"];
// 打印值
Serial.print("Name: ");
Serial.println(name);
Serial.print("Age: ");
Serial.println(age);
Serial.print("City: ");
Serial.println(city);
} else {
// 打印错误信息
Serial.print("Parse error: ");
Serial.println(error.c_str());
}
delay(5000);
}
```
这个例子使用了ArduinoJson库来解析JSON字符串。首先,创建了一个JSON字符串,然后创建了一个JSON文档对象,并使用`deserializeJson()`函数将JSON字符串解析到这个对象中。然后,可以通过索引操作符从JSON对象中获取值,并将其打印到串口上。
需要注意的是,这个例子中使用的是静态JSON文档对象,这意味着JSON对象的大小在编译时确定,因此需要根据实际情况调整JSON缓冲区的大小。如果JSON对象的大小未知,可以使用动态JSON文档对象。
阅读全文