如何在JavaScript中将远程JSON对象转换为数组

时间:2018-05-27 23:57:06

标签: javascript arrays json icecast

我正在尝试从我的Icecast服务器获取JSON对象并将其转换为数组,以便我可以访问当前的侦听器数字stat并以html格式显示它。

这是我的JS:

const endpoint = 'http://stream.8k.nz:8000/status-json.xsl';    
const serverStats = [];

fetch(endpoint)
    .then(blob => blob.json())
    .then(data => serverStats.push(data));

这只是将对象添加为数组中的单个项目。 ES6方法传播不起作用,因为它只适用于数组。

1 个答案:

答案 0 :(得分:0)

不需要数组。您只接收单个对象,并且可以从该对象轻松访问所需的属性

const endpoint = 'http://stream.8k.nz:8000/status-json.xsl';    
const serverStats = [];

fetch(endpoint)
    .then(blob => blob.json())
    .then(data =>{
        let source = data.icestats.source;
       // console.log(source)
        console.log('Listeners =', source.listeners, ' Peak=', source.listener_peak)


       console.log('\n ******************* \n')
       // to iterate over all the source key/values
       Object.keys(source).forEach(k=> console.log(k,'=', source[k]))
    
    })
.as-console-wrapper {	max-height: 100%!important;}