javascript - 将 SSID 列表转换为 JSON/Array

标签 javascript arrays json node.js ssid

我正在尝试让您可以选择不同的 SSID 来切换您从浏览器连接的 WLAN。

var sys = require('sys');
var exec = require('child_process').exec;
app.get(prefix + '/wlan', function(req, res){
child = exec("iwlist wlan0 scan | grep ESSID", function(error, stdout, stderr){
                if(error !== null){
                    console.log('Exec error ' + error);
                }
                else {
                    res.send(stdout);
                }
 });
});

这是我迄今为止获取 SSID 列表的代码..

输出是这样的:

ESSID:"WLAN-GUEST" ESSID:"WLAN1" ESSID:"WLAN-GUEST" ESSID:"WLAN1" ESSID:"WLAN2"

I have no idea why two ESSID's are listed twice but my main question is, how can I parse this to JSON or how can I access each entry like an array (wlanlist[0])?

Edit: I tried to stdout.replace(" ",", "); and JSON.parse but as it's async it's sent without changes. (Not sure if that would work as sync)

Edit2: Trying to access the data like that:

$(document).ready(function() {
$.get(prefix + '/wlan', function(wlanlist){

    document.getElementById("wlanoptions").options[0] = new Option("Select your WLAN:","");
    document.getElementById("wlanoptions").options[1] = new Option(wlanlist[0],wlanlist[0])
});
}); 

最终结果:

var wlanlistarray = stdout.split("ESSID:"); res.send(wlanlistarray);

此外:

//extract ssid and remove quotes
                var wlanlist = new Array;
                var step1 = stdout.split("ESSID:");
                for(i = 1; i < step1.length; i++){
                    var arr = new Array;
                    arr = step1[i].split('"');
                    //if exists in array -> continue; else create new entry in wlanlist
                    if(wlanlist.indexOf(arr[1]) === -1){wlanlist.push(arr[1]);}
                    else{continue;} 
                }
                res.send(wlanlist);

最佳答案

这应该返回 SSID 数组:

stdout.split("ESSID:")

现在清理",一切就完成了。

关于javascript - 将 SSID 列表转换为 JSON/Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37994045/

相关文章:

javascript - jQuery - 在多个 ID 上使用相同的函数 (ToggleNav/Dropdown)

javascript - 将 ES6 可迭代对象转换为数组

android - 我应该以哪种格式(HTML/markdown/JSON)从我的服务器接收一些格式化的文本?

php - 如何在Jquery中包含带参数的php函数

javascript - Javascript 中的累积分布函数

javascript - 不使用 pos :fixed 使 DIV 随页面滚动

javascript - Angularjs UI 多选和初始选择

c# - StringToByteArray() 在 C# 2.0 中抛出异常

javascript - 为什么Javascript unshift方法添加引号?

iOS - JSON 数据不工作