我已设法创建下面的字符串并将其传递给jsp
"Dataset1:[ 10,22,33,44,55,66,7 ],Dataset2:[ 20,12,43,24,55,26,47 ],Dataset3:[ 30,12,53,64,5,16,77 ],Dataset4:[4 0,12,63,64,5,6,44 ]"
我的图表函数接受数据作为下面描述的js对象
var graph_dataset = {
"Dataset1":[10,22,33,44,55,66,7 ]
,"Dataset2":[20,12,43,24,55,26,47 ]
,"Dataset3":[30,12,53,64,5,16,77 ]
,"Dataset4":[40,12,63,64,5,6,44 ]
};
因此,如果我通过graph_dataset.Dataset4
调用它,我应该能够获取我的数组(对应于每个键的值)。
我已经尝试过很多东西,包括JSON.parse。请帮助解决一段代码
答案 0 :(得分:1)
这让我觉得很脏,但它完成了工作。
let str = "Dataset1:[ 10,22,33,44,55,66,7 ],Dataset2:[ 20,12,43,24,55,26,47 ],Dataset3:[ 30,12,53,64,5,16,77 ],Dataset4:[40,12,63,64,5,6,44 ]";
let result = str.split(',Dataset');
result[0] = result[0].split('Dataset')[1];
let obj = result.reduce( (prev, curr) => {
let ar = curr.split(':');
prev['Dataset' + ar[0]] = JSON.parse(ar[1]);
return prev;
}, {} );
console.log(obj);
答案 1 :(得分:0)
回答面临类似困难的人。
我更正了字符串格式,并在适用的地方添加了quotes
和{}
。
正确格式化字符串后看起来像
var str='{"Dataset1":[10,22,33,44,55,66,7],"Dataset2":[20,12,43,24,55,26,47],"Dataset3":[30,12,53,64,5,16,77]}';
我能够解析字符串并成功生成图表。
obj=JSON.parse(str);