无法捕获JSON对象中的键并将它们映射为CSV文件中的第一行

时间:2018-01-16 05:09:24

标签: javascript jquery json csv

我正在开发一个JSON到CSV转换器工具。寻求Stack Overflow帮助,我能够从JSON输入下载一个只有值的CSV文件。我需要将密钥作为下载的CSV文件中的第一行。

例如,

JSON:

{"id":"1", "name": "XYZ"}

CSV:

-------------
id   | name |
-------------
1    | XYZ  | 
-------------

但我在CSV文件中的当前输出是:

enter image description here

  

有关代码详情,请参阅此fiddle

1 个答案:

答案 0 :(得分:3)

向数据添加标题行的一种快捷方法是确保数据中的第一个json对象为:

var header = {"id" : "id", "name":"name", "array_list":"array_list"};

确保先输出此对象,然后输出其他所有对象。 这将适用于您的特定数据。如果您不知道数据的外观,可以使用Object.keys,因为它将从json对象中提取所有键。

var header = {};
var keys = Object.keys(my_json_object);

keys.forEach(k) {
    header[k] = k;
}

现在header对象将包含keys和值作为相同的键名。确保先将其输出到CSV文件。