我有javascript变量var result
如下所示,其java变量具有像这样的JSON数据
var result = <%=JsonData1%> ;
alert(result.toSource());
上面的代码类似于此警告消息
上显示的代码 var result= [{"year":"12","value":"6694"},{"year":"13","value":"50"},{"year":"08","value":"4776"},{"year":"09","value":"29006"},{"year":"10","value":"1751"}];
但我需要在JSON数据上放一个引号
'[{"year":"12","value":"6694"},{"year":"13","value":"50"},{"year":"08","value":"4776"},{"year":"09","value":"29006"},{"year":"10","value":"1751"}]'
并将其放在新的javascript变量中,如此
var json_pre = result;
alert(json_pre);
但当我更改放置在新result
变量中的json_pre
数据时,如此链接How to add single quote in the variable in Javascript?
var json_pre = "'" +result+ "'";
alert(json_pre.toSource());
然后json数据在警告信息
上显示我这样'[{year:(new Date(-2208058200000)), value:6694}, {year:(new Date(-2207971800000)), value:50}, {year:(new Date(-2208403800000)), value:4776}, {year:(new Date(-2208317400000)), value:29006}, {year:(new Date(-2208231000000)), value:1751}]'
因为我已经尝试过在链接上给我的每一种方法。所以任何人都可以帮助我吗?
答案 0 :(得分:0)
result
不是JSON,而是JavaScript对象。
您需要做的是将stringify
您的对象转换为JSON,然后添加引号:
var result = [{"year":"12","value":"6694"},{"year":"13","value":"50"},{"year":"08","value":"4776"},{"year":"09","value":"29006"},{"year":"10","value":"1751"}];
var result_pre = "'" + JSON.stringify(result) + "'";
console.log(result_pre);
&#13;
但是,为什么你甚至需要它,这是值得怀疑的。
答案 1 :(得分:0)
您需要了解单引号不会使对象成为字符串。当你试图将它存储在一个变量中时我猜你又犯了同样的错误。
当你这样做时
a={"key":"value"}
b="'" + a + "'";
如果要将JSON字符串存储在需要执行此操作的变量中,您将获得控制台的字符串表示
var json = JSON.stringify(result);
alert(json);
你不需要引用。