如何用JavaScript脚本或工具过滤格式化Firebase导出的JSON用户数据?
批量转换Firebase导出用户JSON格式的方案
JavaScript脚本方案(Node.js)
适合需要自定义逻辑或处理超大文件的场景,步骤如下:
- 将Firebase导出的JSON文件保存为
input.json - 创建名为
transform.js的脚本,内容如下:
const fs = require('fs'); // 读取原始数据 const rawData = fs.readFileSync('input.json', 'utf8'); const data = JSON.parse(rawData); // 遍历用户数据并转换格式 const formattedUsers = Object.entries(data.Users).map(([userId, details]) => ({ id: userId, name: details['1UserName'], email: details['3Email'], city: details['4City'] })); // 输出为格式化的JSON数组(适合大多数场景) fs.writeFileSync('output.json', JSON.stringify(formattedUsers, null, 2)); // 可选:输出为每行一个JSON对象(NDJSON格式,适合流式处理) // const ndjson = formattedUsers.map(u => JSON.stringify(u)).join('\n'); // fs.writeFileSync('output.ndjson', ndjson);
- 确保已安装Node.js,在终端执行
node transform.js即可生成转换后的output.json
命令行工具方案(jq)
无需编写代码,适合快速转换:
- 安装jq工具(通过系统包管理器即可安装,如
brew install jq或apt install jq) - 执行以下命令完成转换:
jq '.Users | to_entries | map({id: .key, name: .value."1UserName", email: .value."3Email", city: .value."4City"})' input.json > output.json
该命令会直接将转换后的用户数组写入output.json文件
内容的提问来源于stack exchange,提问作者Chris Fleet
相关产品推荐
相关产品推荐

