松原建设小学网站,WordPress黑镜主题下载,免费广告设计软件,买的服务器怎么做网站参考#xff1a;使用HTML5来实现本地文件读取和写入 (FileReader读取json文件#xff0c;FileSaver.js保存json文件)JS创建、写入、读取本地文件(txt) (ActiveXObject 这玩意根本不能用#xff0c;IE10 和 Chrome都试了)HTML 5中的文件处理之File Writer API (FileSaver…参考使用HTML5来实现本地文件读取和写入 (FileReader读取json文件FileSaver.js保存json文件)JS创建、写入、读取本地文件(txt) (ActiveXObject 这玩意根本不能用IE10 和 Chrome都试了)HTML 5中的文件处理之File Writer API (FileSaver和FileWriter都是不能直接修改保存指定文件的只能生成一个文件然后浏览器以下载的形式保存)想用Egret来做地图编辑器来着需要打开地图配置编辑地图后再保存地图配置。所以去网上搜了一圈json的读取和保存方法。一、读取本地JSON文件1. 首先使用标签创建一个读取的按钮2. 然后选择本地的json文件后使用FileReader读取json文件的内容此时读取的结果是字符串3. 将读取的结果字符串使用JSON.parse转为json格式之后再使用var inputElement document.getElementById(files);inputElement.addEventListener(change, handleFiles, false);function handleFiles() {var selectedFile document.getElementById(files).files[0];//获取读取的File对象var name selectedFile.name;//读取选中文件的文件名var size selectedFile.size;//读取选中文件的大小console.log(文件名:name大小size);var reader new FileReader();//这里是核心读取操作就是由它完成的。reader.readAsText(selectedFile);//读取文件的内容reader.onload function(){console.log(读取结果, this.result);//当读取完成之后会回调这个函数然后此时文件的内容存储到了result中。直接操作即可。console.log(读取结果转为JSON);let json JSON.parse(this.result);console.log(json.name);console.log(json.age);};}实际操作步骤使用标签创建的按钮如下图点击“选择文件”打开本地test.json文件test.json内容如下图读取后console.log输出结果如下二、JSON文件的保存网上搜了一圈有个new ActiveXObject(Scripting.FileSystemObject);方法但是没有什么用。使用下面的代码进行JSON保存1. 引入FileSaver.js文件 (可以从文章开头那去找下载链接)2. 使用标签创建一个保存按钮2. 点击标签保存时调用saveAs方法保存json内容var button document.getElementById(export);button.addEventListener(click, saveHandler, false);function saveHandler(){let data {name:hanmeimei,age:88}var content JSON.stringify(data);var blob new Blob([content], {type: text/plain;charsetutf-8});saveAs(blob, save.json);}实际操作步骤标签创建保存按钮浏览器提示下载save.json文件下载保存后的文件三、疑问1. 为什么保存的时候不能直接保存打开的json文件还需要下载这一步。我没有去深究估摸着这是安全权限问题因为如果浏览器能任意修改你电脑上的文件那是比较可怕的。2. 在Egret中如何使用首先这些input标签必须创建在egret的div之前然后这些标签必须得隐藏起来不然会盖在游戏canvas只上很难控制显示和隐藏因为标签按钮被隐藏了你没法点在Egret里用代码控制主动调用click事件来触发打开文件和保存的操作这样比较灵活。//打开本地文件private onOpenFile(){var files document.getElementById(files);files.onchange this.onChang;files.click();}//选定本地文件private onChang(){//获取打开的文件并进行操作var files: any document.getElementById(files);var file files.files[0];}