如何在电子 renderer.js 文件中使用 Node.js 解析 JSON?

hebo

我想从 Web 服务器解析 JSON 格式的数据集(在 Electron renderer.js 文件中编辑)

refresh.addEventListener("click", function(){
  const http = require('http');
  http.get(
    'http://teamparamount.cn:8080/Paramount/filesroot?username=test', (resp) =>{
      let data = '';
      // A chunk of data has been recieved.
      resp.on('data', (chunk) =>{
        data += chunk;
      });
      // The whole response has been received. Print out the result.
      resp.on('end', () =>{
        // console.log(JSON.parse(data).info);
        // var obj = JSON.stringify(data);
        var hhh = JSON.parse(data);
        var xxx = JSON.parse(data).info;
        // alert(typeof obj);
        // console.log(hhh.length);
        // console.log(obj);
        console.log(data);
        console.log(hhh.status);
        console.log(hhh.info);
        console.log(hhh.info[1].time);
        console.log(hhh.info.length);
        console.log(hhh.info[408]);


        // console.log(obj.info[1]);

        // console.log(obj.status);
        // console.log(obj.status.length);
        function getJsonLth(obj){
          var index = 0;
          for(var i=0;i<obj.length;i++){
            if (obj[i] == ':') {
              index++;
            }
            return index;
            // alert(json1.abc[i].name);
          }
        };
        console.log(getJsonLth(xxx));
      });
    }).on("error", (err) => {
      console.log("Error: " + err.message);
    });
});
在红色圆圈部分,第一个输出是服务器发送的JSON格式数据集。第二个输出是使用 JSON.parse(data).status 后的结果 第三个输出是使用 JSON.parse(data).info 后的结果。我认为 var xxx = JSON.parse(data).info xxx 是一个数组,如第三个输出中所示。但是,我想要做的是在数组中的每个元素中分别获取大小、时间、类型、url 这些值。但是,如您所见, console.log(hhh.info[1].time); 的输出 未定义。另外,我想得到这个数组的长度,我只使用 console.log(hhh.info.length) 结果是 409,我对此感到困惑。这个结果表明它是一个字符串而不是一个数组。我想同时获得这些值和数组的长度。我应该怎么办?非常感谢。

贾亚乔

http://teamparamount.cn:8080/Paramount/filesroot?username=test返回:

{"status":"success","info":"[{\"size\":\"10105\"...

其中infoproperty 是一个字符串,必须单独解析。这就是你显然想要做的:

var xxx = JSON.parse(data).info;

但不是JSON.parse(data).info你应该做的:JSON.parse(data.info)然后你会收到你的info数组到xxx变量中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章