android系统定制开发JS原生读取 本地 JSON

        android系统定制开发开发期间可能会遇到需要读取的JSONandroid系统定制开发以文件形式储存在本地的情况

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

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

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

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

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

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

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

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

let fileText = inputDOM.files[0];

接着,新建一个对象

let reader = new FileReader();

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

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

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

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

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

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

                获取FileReader读取的结果

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

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

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

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

SmoeVariable = JSONobject

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

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

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

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

  1. //原本的JSON:
  2. {
  3. "a": "AA",
  4. "b": 22.22,
  5. "c": true,
  6. "d": ["d1",2,false,{null}]
  7. }
  8. //简单改动一下:
  9. data = {
  10. "a": "AA",
  11. "b": 22.22,
  12. "c": true,
  13. "d": ["d1",2,false,{null}]
  14. }

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

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

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

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发