zoukankan      html  css  js  c++  java
  • JS简单实现读入JSON文件

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

    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接口

  • 相关阅读:
    2.2 Scala基础知识
    Linux---用户及权限管理类命令
    Linux---进程控制类命令
    Linux---vim编辑文本文件
    Linux---文件压缩与解压缩命令
    Linux---查找命令
    Linux---基本目录与文件命令
    nginx配置技巧汇总
    Go 内嵌静态资源
    go语言的time.Sleep
  • 原文地址:https://www.cnblogs.com/tieway59/p/10833720.html
Copyright © 2011-2022 走看看