js读写json文件

本文详细介绍使用JavaScript读取和写入JSON文件的方法。通过示例代码,展示如何利用FileReader API读取本地JSON文件,并使用FileSaver.js插件将JSON数据保存为文件。涵盖读取文件内容、解析JSON数据及创建、保存JSON文件的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js读json文件:

<div>
 <input type="file" id="files"/>
</div>
 
 <script>
     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);
         };
 
     }
 </script>

js写json文件:

<input type="button" id="export" value="保存"/>

<!-- 关键是要引入这个js插件 -->
<script src="https://cdn.bootcss.com/FileSaver.js/1.3.8/FileSaver.js"></script>
<script>
 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;charset=utf-8"});
      saveAs(blob, "save.json");
 }
 
</script>

FileSaver.js相关介绍

FileSaver.js下载地址

### 使用 JavaScript 读取和写入 JSON 文件 在浏览器环境中,由于安全原因无法直接访问本地文件系统来读写 JSON 文件。然而,在 Node.js 环境下可以轻松实现这一功能。 #### 一、Node.js 中读取 JSON 文件 为了从文件中加载 JSON 数据并将其解析为对象,可利用 `fs` 模块中的同步方法 `readFileSync()` 或者异步版本 `readFile()`. 下面是一个简单的例子展示如何完成此操作: ```javascript const fs = require('fs'); // 同步方式读取json文件 try { const dataBuffer = fs.readFileSync('data.json'); const jsonData = JSON.parse(dataBuffer.toString()); console.log(jsonData); } catch (err) { console.error(err.message); } ``` 对于更复杂的场景推荐采用回调函数处理错误以及数据流的方式来进行非阻塞式的 I/O 操作[^2]. #### 二、Node.js 中写入 JSON 文件 当需要保存 JavaScript 对象到磁盘上的 JSON 文件时,则应该先通过 `JSON.stringify()` 方法序列化该对象成字符串形式再调用 `writeFileSync()` 函数存储至目标位置: ```javascript const fs = require('fs'); let myObject = { name: 'Alice', age: 25 }; // 将js对象转换为json字符串 const jsonString = JSON.stringify(myObject); // 写入json文件 try { fs.writeFileSync('output.json', jsonString); console.log('成功写入文件'); } catch (err) { console.error(err.message); } ``` 同样地,在生产环境建议使用带有回调机制的 `writeFile()` 实现更好的性能表现.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值