使用 URL 命令在 JSON 中查询详细信息

Query details in a JSON with URL commands

我有一个 JSON 文件,见下文。此 JSON 文件的 URL 是 http://host/json。有没有办法在 URL 添加选项,只显示 Switch,Relay 2 的值?

(这是来自 ESP8266 的 ESPEasy 的 JSON 文件)

{"System":{
"Build": 118,
"Unit": 2,
"Uptime": 68,
"Free RAM": 28488
},
"Sensors":[
{
"TaskName": "Switch",
"Relay1": 0.00
},
{
"TaskName": "Switch",
"Relay2": 0.00
},
{
"TaskName": "Switch",
"Relay3": 0.00
},
{
"TaskName": "Switch",
"Relay4": 0.00
},
{
"TaskName": "Switch",
"Relay5": 0.00
},
{
"TaskName": "Switch",
"Relay6": 0.00
},
{
"TaskName": "Water",
"CounterMunicipality": 0.00,
"Total": 0.00,
"Time": 0.00
},
{
"TaskName": "Water",
"CounterBorehole": 0.00,
"Total": 1.00,
"Time": 726077.00
},
{
"TaskName": "Air",
"Temperature": nan,
"Humidity": nan
},
{
"TaskName": "System",
"Uptime": 65.00
}
]}

查看源代码 WebServer.ino,应该可以 select 使用 tasknr 参数的任务,请参阅:

boolean handle_json()
{
    String tasknr = WebServer.arg("tasknr");
....
    byte taskNr = tasknr.toInt();
    byte firstTaskIndex = 0;
    byte lastTaskIndex = TASKS_MAX - 1;
    if (taskNr != 0 )
    {
        firstTaskIndex = taskNr - 1;
        lastTaskIndex = taskNr - 1;
    }
...
}

那么你应该使用 :

获得中继 2

http://host/json?tasknr=2