将数组从JSON文件转换为Javascript数组不起作用

时间:2019-04-21 14:21:20

标签: javascript arrays json

即使我阅读了很多有关stackoverflow的相关文章, 我无法弄清楚我在做什么错。

所以我有一个json(peak.json)文件,其中包含多个对象和一个数组(audiopeakdata)。看起来像这样:

{"version": 2, "channels": 1, "data": [0.1, 0.3, 0,3 ... 0.1]}

现在我想从json文件中读取数据数组,并想将其解析为一个javascript数组:

var array = [];
$.getJSON('peak.json', function(data) { 
    array = data.data;
}); 
console.log(array);

但是控制台日志显示该数组为空-怎么可能呢?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

这是因为您尝试从callback返回无效的数据。使用async/await

async function getData() {
  var data = await $.getJSON('peak.json')
  var array = data.data;
  console.log(array);
}
getData();

或在回调中移动console.log

var array = [];
$.getJSON('peak.json', function(data) { 
  array = data.data;
  console.log(array);
});