首页 > 解决方案 > 过滤 JSON 数据 arduino

问题描述

我正在尝试使用我的 Arduin 过滤 JSON 数据(使用 ESP8266)。这就是我所拥有的:

if (httpCode > 0) {
  // Parsing
  const size_t bufferSize = JSON_OBJECT_SIZE(2) + JSON_OBJECT_SIZE(3) + JSON_OBJECT_SIZE(5) + JSON_OBJECT_SIZE(8) + 370;
  DynamicJsonBuffer jsonBuffer(bufferSize);
  JsonObject& root = jsonBuffer.parseObject(http.getString());
  // Parameters
  int id = root["Reismogelijkheid"];
  const char* departure = root["ActueleVertrekTijd"];
  // Output to serial monitor
  Serial.print("Vertrijktijd:");
  Serial.println(departure);
}

我可以连接到我的 wifi 网络,我可以连接到网站以从这里获取 JSON 数据:http: //hendriks.pm/ns.php但我想过滤数据并且只获取ActueleVertrekTijd,所以我可以将它存储在 const 中,并且我可以在我的串行监视器上看到它。

我尝试使用此示例:https ://www.instructables.com/id/ESP8266-Parsing-JSON/但这对我不起作用。

这是 Json :

在此处输入图像描述

标签: jsonarduinoesp8266

解决方案


您好,欢迎来到 Stackoverflow,

问题是您没有遍历 JSON。如果你想检索一个对象的值,你应该使用

root["Reismogelijkheid"]["ActueleVertrekTijd"]

或者如果它是一致的:

root["Reismogelijkheid"][5]

代替

root["Reismogelijkheid"]

这将为您提供所需的价值。

编辑

有关解析 JSON 的更多信息,您可以使用此站点: https ://randomnerdtutorials.com/decoding-and-encoding-json-with-arduino-or-esp8266/


推荐阅读