javascript - 嵌套 JSON 到 CSV 格式 Node.js

标签 javascript json node.js csv

我是编程新手,正在开发一个使用 node.js 从 API 接收嵌套 JSON 响应的项目​​。我希望找到一种简单的方法将此 JSON 转换为 CSV 以便导出。我搜索了一下,尝试了 jsonexport 和nestedcsv2json 包,但我无法使我的格式完全正确,并且无法迭代我的 JSON 响应。

JSON 响应基本上如下:

{ '2016-01-31': { chats: 0, missed_chats: 5 },
'2016-02-01': { chats: 60, missed_chats: 7 },
'2016-02-02': { chats: 56, missed_chats: 1 },
'2016-02-03': { chats: 46, missed_chats: 0 },
'2016-02-04': { chats: 63, missed_chats: 2 },
'2016-02-05': { chats: 59, missed_chats: 4 },
'2016-02-06': { chats: 0, missed_chats: 1 } }

我遇到的问题是,它的大小可能会根据用户输入的日期范围而变化。因此,我需要迭代返回的日期,然后提取嵌套的 JSON。可以是 1 个日期,也可以是 100 个日期。

我希望制作一个带有可以导出的标题的 CSV 格式:

   Date         Chats    Missed Chats
2016-02-02        60            7

这应该是快速和简单的,但我正在努力做到这一点。非常感谢任何提示或帮助。谢谢!

最佳答案

这会输出一个以分号分隔的 csv 字符串。编辑分隔符(例如将其替换为制表符 \t)以满足您的需求:

var json = { '2016-01-31': { chats: 0, missed_chats: 5 },
'2016-02-01': { chats: 60, missed_chats: 7 },
'2016-02-02': { chats: 56, missed_chats: 1 },
'2016-02-03': { chats: 46, missed_chats: 0 },
'2016-02-04': { chats: 63, missed_chats: 2 },
'2016-02-05': { chats: 59, missed_chats: 4 },
'2016-02-06': { chats: 0, missed_chats: 1 } };

var headers = 'Date;Chats;Missed chats';

var csv = headers + '\r\n';
for(key in json){
    csv += key + ';' + json[key].chats + ';' + json[key].missed_chats + '\r\n'
}
console.log(csv)

输出为:

Date;Chats;Missed chats
2016-01-31;0;5
2016-02-01;60;7
2016-02-02;56;1
2016-02-03;46;0
2016-02-04;63;2
2016-02-05;59;4
2016-02-06;0;1

您可以在这里找到一个工作示例:https://jsfiddle.net/owd8zsa0/

关于javascript - 嵌套 JSON 到 CSV 格式 Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35245113/

相关文章:

javascript - 为什么有些浏览器会打乱我的图像框?

json - 如何序列化 AutoBean (GWT) 中的列表?

Microsoft Bot Framework 中的 C#.net 或 Node.Js?

PHP、nodeJS 和 session

javascript - 无法将自执行函数与 html 链接起来?

javascript - 如何打开一个新窗口(或在一个选项卡中),但不给它焦点

javascript - 是否可以使 Accordion 标题导航到新页面?

python - 在 JSON 文件的现有列表中附加生成的对象的有效方法?

javascript - jQuery - 如果在代码末尾求值,console.log 会提供空数组

javascript - 将 JSON 文件导入运行在 Grunt 服务器上的 Angular 应用程序