首页 > 解决方案 > 使用键 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;
 
}

但结果不是预期的结果应该与此类似

预期的

但我是这样的

结果

你能指出我正确的方向吗,谢谢

标签: javascriptarraysjsoncsvexport-to-csv

解决方案


你可以使用 papa parse 这是一个非常强大的工具来处理 csv 和 json 数据

https://www.papaparse.com/docs#json-to-csv

它有 npm 和 cdn 两者。


推荐阅读