来自ajax响应的JSON对象

时间:2012-08-20 15:44:59

标签: javascript json

来自下面的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 个答案:

答案 0 :(得分:0)

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

http://jsonlint.com/

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分: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"]

这是DEMO