首页IT科技js读取本地html文件(JS原生读取 本地 JSON)

js读取本地html文件(JS原生读取 本地 JSON)

时间2025-08-04 15:23:54分类IT科技浏览4753
导读: 开发期间可能会遇到需要读取的JSON以文件形式储存在本地的情况...

        开发期间可能会遇到需要读取的JSON以文件形式储存在本地的情况

当用户可以手动选择文件时:

        这个情况就很常见也很好解决了            ,我们可以使用类型为fileinput标签            。

假设我们有一个ID为“fileInput               ”            、类型为“file                  ”的input标签                      。

<input type="file" id="fileInput" />

        那么JS代码就可以这样写:

首先                      ,获取到页面中input标签的DOM元素

let inputDOM = document.getElementById("fileInput");

然后获取这个DOM元素中用户所上传文件的文本内容

let fileText = inputDOM.files[0];

接着      ,新建一个FileReader对象

let reader = new FileReader();

将刚刚获取到的文件内容放入新建的reader         ,并指定文件所使用的编码方式

reader.readAsText(fileText,"UTF-8");

   注意                      ,FileReader是一个异步运行的API   

在reader工作完成后          ,运行一些代码      ,将读取到的内容“丢       ”出来

reader.onload = function(){ //这里的代码将在FileReader完成工作之后运行 }

        这个匿名函数内可以这样写:

                获取FileReader读取的结果

let content = reader.result; //这里也可以简写FileReader的名字为“this            ” let content = this.result;

                用JSON.parse把结果转换为JSON对象

let JSONobject = JSON.parse(this.result);

                把提取到的JSON对象赋值给在合适位置声明过的函数

SmoeVariable = JSONobject

当文件固定储存在某目录时:

这种情况不多见                     ,但确实是更快速解决某些问题的奇怪方法      。

   由于浏览器安全策略              ,正常途径无法指定目录读取本地文件   

但可以取个巧   ,对JSON文件做一点小改动                    ,就能把JSON作为JS文件引入网页了         。

//原本的JSON: { "a": "AA", "b": 22.22, "c": true, "d": ["d1",2,false,{null}] } //简单改动一下: data = { "a": "AA", "b": 22.22, "c": true, "d": ["d1",2,false,{null}] }

添加等号和前方的变量名之后                  ,JSON就变成了JS代码,隐式声明了一个变量                ,并将整段JSON作为对象赋值给它                      。

“data                   ”可以按需定义                      ,只要将这个文件使用script标签引入文档即可          。

Tips:这样的文件可以使用innerHTML或者creatElement动态引入

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
js设置浏览器全屏(限制浏览器中的JS运行以提高速度) python字符串填充若干相同字符(python center()如何填充字符串)