使用nodejs读取多个.json文件,并把每个文件里的json对象合并成一个JSON对象
时间: 2024-05-16 07:15:45
浏览: 50
可以使用Node.js提供的fs模块来读取多个.json文件,并使用JSON.parse()方法将每个文件中的json[字符串](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)转换为json对象,最后将这些json对象合并成一个JSON对象即可。
以下是一个示例代码:
```javascript
const fs = require('fs');
// 定义存储JSON对象的变量
let json = {};
// 定义要读取的.json文件路径数组
const filePaths = ['./file1.json', './file2.json', './file3.json'];
// 循环读取每个文件
filePaths.forEach((filePath) => {
// 读取json[字符串](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)并转换为json对象
const json[string](https://geek.csdn.net/edu/8802d631b97a4a6af1f4d0bbf8527465?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083) = fs.readFileSync(filePath, 'utf8');
const jsonObj = JSON.parse(json[string](https://geek.csdn.net/edu/8802d631b97a4a6af1f4d0bbf8527465?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083));
// 合并json对象
json = { ...json, ...jsonObj };
console.log(json); // 输出合并后的JSON对象
这里使用了ES6的展开操作符(...)将多个json对象合并成一个对象。如果使用的Node.js[版本](https://geek.csdn.net/educolumn/04449e2eb7da35a9c72dce97dbf43e2a?spm=1055.2569.3001.10083)不支持ES6,也可以使用Object.assign()方法实现对象合并。
相关问题
nodejs读取json文件
Nodejs是一种非常流行的JavaScript运行时环境,它允许JavaScript代码在服务器端运行。在Nodejs中,我们可以使用fs模块来读取和
使用nodejs 的readFileSync方法读取data文件夹所有json文件
### 回答1:
你可以使用 `fs` 模块的 `readdirSync` 和 `readFileSync` 方法来实现这个功能。
首先,使用 `readdirSync` 方法读取文件夹中的文件列表:
const fs = require('fs');
const path = require('path');
const directoryPath = path.join(__dirname, 'data');
const files = fs.readdirSync(directoryPath);
```