动态更改javascript变量的值

动态更改javascript变量的值,javascript,quotes,Javascript,Quotes,我有javascript变量var result,如下所示,其中包含包含JSON数据的java变量如下 var result = <%=JsonData1%> ; alert(result.toSource()); var json_pre = result; alert(json_pre); 但我需要在JSON数据上加一个引号 '[{"year":"12","value":"6694"},{"year":"13","value":"50"},{"year":"08","val

我有javascript变量
var result
,如下所示,其中包含包含JSON数据的java变量如下

var result = <%=JsonData1%> ;
alert(result.toSource());
var json_pre =  result;
alert(json_pre);
但我需要在JSON数据上加一个引号

'[{"year":"12","value":"6694"},{"year":"13","value":"50"},{"year":"08","value":"4776"},{"year":"09","value":"29006"},{"year":"10","value":"1751"}]'
并将其放入新的javascript变量中,如下所示

var result = <%=JsonData1%> ;
alert(result.toSource());
var json_pre =  result;
alert(json_pre);
但是当我更改放置在新的
json\u pre
变量中的
结果
数据时

然后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}]'

因为我已经尝试了在这个链接上给我的每一种方法。所以有人能在这方面帮助我吗

结果
不是JSON,而是一个JavaScript对象

您需要做的是将对象字符串化为JSON,然后添加引号:

var结果=[{“年”:“12”,“值”:“6694”},{“年”:“13”,“值”:“50”},{“年”:“08”,“值”:“4776”},{“年”:“09”,“值”:“29006”},{“年”:“10”,“值”:“1751”});
var result_pre=“””+JSON.stringify(结果)+“”;

控制台日志(结果预处理)您需要理解单引号不能使对象成为字符串。当您试图将其存储在变量中时,我猜您又犯了同样的错误

当你这么做的时候

a={"key":"value"}
b="'" + a + "'";
您可以获得控制台的字符串表示形式,如果希望将JSON字符串存储在变量中,则需要执行此操作

var json = JSON.stringify(result);
alert(json);

你不需要引号。

我的问题是,为什么你需要用单引号将其括起来?我需要在代码中进一步使用那种类型的JSON。这就是问题所在,我认为你不需要<代码>JSON。stringify(result)
是您需要的,它返回一个JSON字符串。不需要用引号括起来,因为它已经是一个字符串了。添加服务器端代码是没有用的,我们需要查看结果,以及它如何在浏览器的源代码视图中结束(按Ctrl+U)。不管怎样,您是否尝试了
alert(JSON.stringify(result))设置后的右侧
var result=?编辑:我做了。是的,它向我显示了相同的必需数据,但当我把它放在一个带有单引号的新变量中时,它会发生变化,我需要在进一步的代码中使用这种类型的json,用于不同的目的。我在警报消息“[{“year”:“1900-01-11T18:30:00.000Z”,“value”:6694},{“year”:“1900-01-12T18:30:00.000Z”,“value”:50},{“year”:“1900-01-07T18:30:00.000Z”,“value”:4776},{“year”:“1900-01-08T18:30:00.000Z”,“value”:29006},{“year”:“1900-01-09T18:30:00.000Z”,“value”:1751}]@kunal这是我提供的代码所无法实现的。您的代码中一定有其他东西可以做到这一点,但您没有显示您的代码。@kunal,正如我已经说过的那样。@kunal这在我提供的代码中是不可能的”。您的代码或模板引擎显然会更改字符串,而且字符串上没有(标准的)
toSource
函数。好的,我只想知道一件事,那就是代码var result_pre=“””+JSON.stringify(result)+”"; 将json更改为Javascript中的字符串格式变量这是str的答案的副本。没有人对该答案投反对票。这里的评论也是为了引导其他用户找到最好的答案,不要把它们当成个人。你确实可以删除它,因为它没有带来任何新的东西,或者只是让它在这里,因为它不会伤害任何人