来自下面的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来转换对象。但是不知道如何转换为图表理解的格式
答案 0 :(得分:0)
将您的JSON字符串粘贴到神奇的JSONLint中,您将看到您的JSON无效。 JavaScript会尝试获取有效的部分,这就是为什么你没有得到完整的对象。
答案 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。