首页 > 解决方案 > 如何在 Javascript 中读取 JSON 文件并将其转换为对象

问题描述

我有一个 JSON 文件,其中包含我想用 Javascript 读取的数据,而不是用代码硬编码它们(超过 3000 行)。

我尝试在 HTML 中引用 JSON 并使用它,但返回了一个空数组

在 HTML 中:

<script type="file" src="data.json"></script>

在 JavaScript 中:

console.log(JSON.parse(data))

我得到一个空数组而不是数据。

标签: javascriptjson

解决方案


function readJSON(path) {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', path, true);
    xhr.responseType = 'blob';
    xhr.onload = function(e) { 
      if (this.status == 200) {
          var file = new File([this.response], 'temp');
          var fileReader = new FileReader();
          fileReader.addEventListener('load', function(){
               //do stuff with fileReader.result
          });
          fileReader.readAsText(file);
      } 
    }
    xhr.send();
}

推荐阅读