使用 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
我有一个 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