0

从下面的 JSON 字符串 {cols:[{"id":"t","label":"Title","type":"string"},{"id":"l","label":"Avg ","type":"string"},{"id":"lb","label":"High","type":"string"},{"id":"lo","label":"Low","type":"string"}],rows:[{"c":[{"v":"Change navigation"},{"v":5.6666666666667},{"v":"10"},{"v":"1"}]},{"c":[{"v":"Executive leadership"},{"v":6.0666666666667},{"v":"7"},{"v":"3"}]},{"c":[{"v":"Business ownership"},{"v":5.8095238095238},{"v":"10"},{"v":"2"}]},{"c":[{"v":"Change enablement"},{"v":6.4285714285714},{"v":"9"},{"v":"5"}]}]}

我怎么得到类似的东西,

['Change navigation=6.5333333333333','Executive leadership=6.0666666666667', 'Business ownership=5.8095238095238','Change enablement=6.4285714285714']

使用 Javascript

我得到了一个 JSON 对象作为 AJAX 的响应。现在尝试用它绘制图像图表。我应用 JSON.stringify 来转换对象。但不知道如何转换为图表可以理解的格式

4

4 回答 4

0

将您的 JSON 字符串粘贴到神奇的 JSONLint 中,您会发现您的 JSON 无效。JavaScript 将尝试获取有效部分,这就是为什么您无法获取完整对象的原因。

http://jsonlint.com/

于 2012-08-20T15:46:56.300 回答
0

创建一个结果数组。获取rows已解析对象的属性,然后遍历该数组,并为每个条目将适当的字符串 ( entry.c[0].v+" "+entry.c[1].v) 推送到结果数组。完毕。

于 2012-08-20T15:47:46.003 回答
0

本质上,您必须遍历每一行,并以 chard 控件期望的格式构建一组新对象,然后将其加载到图表控件中。

于 2012-08-20T15:48:26.807 回答
0

如果json是您的 JSON 对象,您可以使用以下代码:

var arr = [],
    i = 0;

for (; i < json.rows.length; i++) {
    arr.push(json.rows[i].c[0].v + '=' + json.rows[i].c[1].v);
}

console.log(arr);  // -> ["Change navigation=5.6666666666667", "Executive leadership=6.0666666666667", "Business ownership=5.8095238095238", "Change enablement=6.4285714285714"]

这是一个演示

于 2012-08-20T15:58:23.140 回答