jQuery:从JSON创建一个数组

时间:2014-04-17 14:31:48

标签: javascript jquery arrays json

我有一个像这样的JSON:

{
  "default": [
    [
      1325876000000,
      0
    ],
    [
      1325876000000,
      0
    ],
    [
      1325876000000,
      0
    ],
    [
      1325876000000,
      0
    ]
  ],
  "direct": [
    [
      1328196800000,
      0
    ],
    [
      1328196800000,
      100
    ],
    [
      1328196800000,
      0
    ],
    [
      1328196800000,
      0
    ]
  ],
  "Sales": [
    [
      1330517600000,
      0
    ],
    [
      1330517600000,
      0
    ],
    [
      1330517600000,
      90
    ],
    [
      1330517600000,
      0
    ]
  ],
  "Support": [
    [
      1332838400000,
      0
    ],
    [
      1332838400000,
      0
    ],
    [
      1332838400000,
      0
    ],
    [
      1332838400000,
      0
    ]
  ]
}

我想生成数组包含每个项的名称和相应数组的第一个值。结果应该是这样的:

ticks = [["default", 1325876000000],["direct", 1328196800000],["Sales", 1330517600000],["Support", 1332838400000]]

默认,直接,销售,支持等名称

是动态的,所以我无法jsondata.support

我尝试了什么

ticks = []
for key in jsondata{
    arraynew = [];
    arraynew.push(key)
}

但我不知道如何推动价值观?

请帮助。

1 个答案:

答案 0 :(得分:4)

您只需要访问子阵列。

var ticks = [];
for (var key in jsondata) {
  ticks.push( [ key, jsondata[key][0][0] ] );
}

表达式jsondata[key]为您提供与每个键对应的外部数组。然后,jsondata[key][0]将获得第一个子数组,并将最终[0]添加到第一个子数组中。

请注意,您无法保证以任何特定顺序取回钥匙。