tieway59

首先要知道有这个两个东西:

FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 FileBlob 对象指定要读取的文件或数据。(不过要比较新的浏览器才支持)

JSON.parse() 方法用来解析JSON字符串,构造由字符串描述的JavaScript值或对象。提供可选的reviver函数用以在返回之前对所得到的对象执行变换(操作)。

思路就是用FileReader 读入一个JSON字符串,然后用JSON.parse() 构造成对象。

window.onload = function() {
  let input = document.getElementById("data1");//得到上传按钮的对象
  //console.log(info);                         //测试用
  input.onchange = function() {                //给按钮的onchange写一个读取函数
    const file = this.files[0];                //其实是可以扩展到多文件上传的,不过我们就选第一个,也就是下标0
    if (!!file) {                              //!!是一个js的语法,表示后面的变量不是null/undefined/空串,实用写法。
      const reader = new FileReader();         //实例化一个FileReader对象
      reader.readAsText(file, "gbk");          //借助 FileReader 的方法,按照文本格式读入文件,第二个参数是编码方式(可空)
      reader.onload = function() {
        tmp1 = this.result;                      //然后在FileReader的onload方法里,然后在FileReader的onload方法里,刚刚读入的文件能以文本的形式得到了
        //注意这个对象还是文本,不能拿来直接用,但首先你可以把它带出来。
        //(不推荐也不反对用全局变量)
      };
    }
  };
  //...
};

下面你要得到JSON对象,那么很简单JSON.parse处理即可。

d1 = JSON.parse(tmp1);

参考

JSON.parse()

FileReader()

js中!和!!的区别及用法

JavaScript 中的FileReader对象(实现上传图片预览)

Html5 js FileReader接口

分类:

技术点:

相关文章:

  • 2021-11-04
  • 2022-01-01
  • 2022-12-23
  • 2021-06-03
  • 2021-11-04
  • 2022-12-23
  • 2021-11-04
  • 2018-03-14
猜你喜欢
  • 2023-01-25
  • 2021-09-27
  • 2021-09-07
  • 2019-01-09
  • 2021-11-27
  • 2021-12-16
  • 2022-12-23
相关资源
相似解决方案