javascript - 使用键 javascript 将嵌套的 json 转换为 CSV
问题描述
我正在尝试将嵌套的 JSON 转换为 CSV,并将对象键作为 csv 中的组标识符。这是我正在处理的 JSON
"Name": "Name",
"LoyaltyNumber": "Loyalty Number",
"LoyaltySaved": "Loyalty Items Were Saved",
"LoyaltyDeleted": "Loyalty Item Was Deleted",
"Add": "Add ",
"Loyalty": " Loyalty",
"DeleteLoyalty": "Delete Loyalty"
},
"LoyaltyViewer": {
"AirlineLoyalty": "Airline Loyalty",
"HotelLoyalty": "Hotel Loyalty",
"CarLoyalty": "Car Loyalty",
"RailLoyalty": "Rail Loyalty"
},
我当前的转换脚本是
function toCSV(json) {
json = Object.values(json);
let csv = '';
const keys = (json[0] && Object.keys(json[0])) || [];
csv += keys.join(',') + '\n';
for (let line of json) {
csv += keys.map((key) => line[key]).join(',') + '\n';
}
FileSystem.writeFileSync('./destination3.csv', csv);
return csv;
}
但结果不是预期的结果应该与此类似
但我是这样的
你能指出我正确的方向吗,谢谢
解决方案
你可以使用 papa parse 这是一个非常强大的工具来处理 csv 和 json 数据
https://www.papaparse.com/docs#json-to-csv
它有 npm 和 cdn 两者。
推荐阅读
- eclipse - Selenium webdriver 错误:等待驱动程序服务器启动超时
- c# - 附加一个字符串将第一行添加两次
- c - 动态数组初始化无效导致读写错误
- bash - BASH - 转义三个反斜杠
- c# - 隐式转换泛型类型对象
- python-3.x - zip(*a[::-1]) 的时间/空间复杂度是多少?
- nat - 如何通过公共 VPS 上的 Wireguard 公开我的 NAT 背后网络服务器
- swift - 将 Codable 结构文档/数组插入/更新到 Firestore 的正确方法
- angular - ActivatedRoute.snapshot.paramMap 不工作
- apache-camel - 带有 karaf 属性配置的 apache 骆驼