У меня есть Arduino Yun, где я размещаю веб-страницу. Теперь я хочу показать качество сигнала Wi-Fi на этой странице. Мне удалось выкопать в системе, и я могу всплывал этот JSON-массив какКомплекс JSON-массив
{
"conncount": 5,
"leases": {
},
"wan": {
"proto": "dhcp",
"ipaddr": "192.168.0.13",
"link": "/cgi-bin/luci/;stok=235c7aba0f5cbf5cf752ad119ece74e6/admin/network/network/lan",
"netmask": "255.255.255.0",
"gwaddr": "192.168.0.1",
"expires": -1,
"uptime": 4407,
"ifname": "wlan0",
"dns": [
"192.168.0.1"
]
},
"membuffers": 15708,
"connmax": 16384,
"memfree": 1576,
"uptime": 4481,
"wifinets": [
{
"device": "radio0",
"networks": [
{
"ifname": "wlan0",
"encryption": "WPA2 PSK (CCMP)",
"bssid": "04:A1:51:D3:BC:E8",
"mode": "Client",
"quality": 70,
"noise": -95,
"ssid": "Skynet-ITA",
"link": "/cgi-bin/luci/;stok=235c7aba0f5cbf5cf752ad119ece74e6/admin/network/wireless/radio0.network1",
"assoclist": {
"04:A1:51:D3:BC:E8": {
"rx_short_gi": true,
"noise": -95,
"rx_mcs": 7,
"tx_40mhz": true,
"rx_40mhz": true,
"tx_rate": 135000,
"tx_packets": 14825,
"tx_short_gi": true,
"rx_packets": 101935,
"tx_mcs": 6,
"inactive": 360,
"rx_rate": 150000,
"signal": -61
}
},
"txpoweroff": 0,
"bitrate": 135,
"txpower": 16,
"name": "Client \u0022Skynet-ITA\u0022",
"channel": 6,
"country": "NL",
"signal": -61,
"up": true,
"frequency": "2.437"
}
],
"name": "Generic 802.11bgn Wireless Controller (radio0)",
"up": true
}
],
"memtotal": 61116,
"localtime": "Wed Feb 3 12:09:13 2016",
"memcached": 17596,
"loadavg": [
0.04052734375,
0.125,
0.20263671875
]
}
К сожалению, это так, как он приходит, и я не могу изменить его и я не знаю, как это получается.
Есть ли способ извлечь бит, который говорит «Качество»: 70?
Я попробовал его со следующим кодом, но не повезло (он вернулся как неопределенный). Я использовал данные [3], поскольку он выглядит как несколько массивов, а Quality - в 4-м.
var q;
$(document).ready(function() {
var refresh = setInterval(getData, 5000);
});
function getData() {
$.ajax({
type: "POST",
url: "/cgi-bin/luci/;stok=6ea83154346f9c42e99ac14ae8856b2b?status=1&_=0.16447926725451678",
dataType: "JSON",
cahce: "false",
success: function(data){
q = data[3].quality;
}
});
}
Это значение в 'data.wifinets [0] .networks [0] .quality', если вы копировать/вставить в jsonlint.com, и нажмите кнопку Проверить. Его легче увидеть структуру – dan08
Спасибо за перегруппировку моего массива. Я мог бы сразу заметить это прямо сейчас с помощью ответов ниже! Иногда это проще, чем вы думаете, это так :) –
Кто-нибудь знает, почему мой обновленный div все еще не определился? –