从Javascript对象获取CSV值

从Javascript对象获取CSV值,javascript,arrays,json,recursion,hash,Javascript,Arrays,Json,Recursion,Hash,我正在尝试将Javascript对象转换为CSV并将其存储到文件中。。 我有一个演示: 我想做的是,如果我在函数findProps()中给实体值“Time”或“News” 它应以以下格式返回CSV: "http://www.testingmyurl.com", Time, Dec 9, 2012 或 对于当前格式,它只返回单个值,也返回[object,object] { "_index": "test", "_source": { "link": "http://www.testin

我正在尝试将Javascript对象转换为CSV并将其存储到文件中。。 我有一个演示:

我想做的是,如果我在函数
findProps()
中给实体值“Time”或“News”

它应以以下格式返回CSV:

"http://www.testingmyurl.com", Time, Dec 9, 2012

对于当前格式,它只返回单个值,也返回
[object,object]

{
"_index": "test",
"_source": {
     "link": "http://www.testingmyurl.com",
  "Categories": {
      "Types": {
          "Events": [{
              "count": 1,
              "entity": "Time",
              "Time": [{
                  "entity": "Dec 9",
                  "Dec_9": [{
                      "count": 1,
                      "entity": "2012"
                  }]
                  }]
              }]}}}}

可以将其转换为平面结构吗?

这是一个相当深层的结构,但此函数将按原样处理数据。
fixSpace()
函数解释了
dec9
dec9
之间的差异

演示:

输出:
新闻:
"http://www.testingmyurl.com“,”新闻“,”德国“,”选举“
"http://www.testingmyurl.com“新闻”,“埃及”,“革命”
时间:
"http://www.testingmyurl.com“时间”,“2012年12月9日”
脚本:
函数findProps(名称、数据){
var结果=[],
事件=数据。\u source.Categories.Types.events,
link=数据。\u source.link;
对于(var eventIndex=0;eventIndex');
var时间=FindOps(“时间”,数据);
document.getElementById('time').innerHTML=times.join('
');
HTML:

新闻:
时间:

您的嵌套对象似乎不能清晰地表示为CSV。任何关于结构更改的建议否-如果您有一个非平面结构,就不可能将其表示为二维数组(CSV本质上就是这样)。您需要知道如何在excel中显示您的结构-我不知道。@Bergi Ive编辑了问题部分。.如果时间深度或新闻数组不固定,如果它达到3级以上该怎么办。@user1371896该函数可以修改以处理该问题。你甚至可以让它递归。最好是使您的数据结构更平坦。太深了。这个结构可以递归吗。。你能告诉我怎么做吗?或者我应该再添加一个问题并在评论中发布链接?@user1371896两个内部结构,实体和值,是完全相同的。如果更深层次的结构遵循相同的模式,则只需为()添加更多级别的
。用你正在思考的更深层次的结构编辑你的问题,以及你期望的结果,我可以为你指出正确的方向。。。无论Json有多深,结果都应该在最后添加
{
"_index": "test",
"_source": {
     "link": "http://www.testingmyurl.com",
  "Categories": {
      "Types": {
          "Events": [{
              "count": 1,
              "entity": "Time",
              "Time": [{
                  "entity": "Dec 9",
                  "Dec_9": [{
                      "count": 1,
                      "entity": "2012"
                  }]
                  }]
              }]}}}}