我正在尝试使用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):
答案 0 :(得分:2)
您好,欢迎来到Stackoverflow
问题是您没有遍历JSON。 如果要获取对象的值,则应使用
root["Reismogelijkheid"]["ActueleVertrekTijd"]
或是否一致:
root["Reismogelijkheid"][5]
代替
root["Reismogelijkheid"]
这将为您提供所需的价值。
编辑
有关解析JSON的更多信息,您可以使用以下站点: https://randomnerdtutorials.com/decoding-and-encoding-json-with-arduino-or-esp8266/