如何在JSON中转义逗号以供highchart读取

How to escape commas in JSON for read by highchart

本文关键字:highchart 读取 转义 JSON      更新时间:2023-09-26

我有以下JSON,我想在数字之间添加逗号,但当我这样做时,JSON会失败。我的代码工作版本可以在下面的fiddle链接中看到

小提琴我想把这个11488897改成11488897

这样做可能吗?如何做到这一点?

谢谢你的帮助

[{
    "name": "",
    "data": ["Totals","Total1 ","Total 2","total 3" ]
}, {
    "name": "Amount1",
    "data": [48353330,38079817,37130929,1957317]
}, {
    "name": "Amount2",
    "data": [11488897,8902674,8814629,497369]
}]

如果你想保留逗号,你只需要使用字符串:

"data": ["48,353,330","38,079,817","37,130,929","1,957,317"]

这是不是一个好主意就另当别论了。通常情况下,您希望服务器返回的JSON包含原始(即整数)数据,然后在实际使用时按照您的意愿对其进行格式化。这样,同一RPC端点就可以用于提取数据,以便在图表中使用,用于以后可能出现的任何其他目的。

试试这个:

var data = [{
    "name": "",
    "data": ["Totals","Total1 ","Total 2","total 3" ]
}, {
    "name": "Amount1",
    "data": [48353330,38079817,37130929,1957317]
}, {
    "name": "Amount2",
    "data": [11488897,8902674,8814629,497369]
}];
data.forEach(function(obj) {
  obj.data = obj.data.map(function(item) {
    if (typeof item == 'number') {
      return item.toString().replace(/'B(?=('d{3})+(?!'d))/g, ",");
    } else {
      return item;
    }
  });
});
alert(JSON.stringify(data, true, 4));

我不知道它是否是跨浏览器的,但如果你做这个

var number = 11488897;
number = number.toLocaleString('en');

您将获得小数点上带逗号的数字(字符串)