Javascript 将JSON.stringify值设置为变量时,它会添加'\';到前面和\';到底
我确信我遗漏了一些基本的东西,但我不确定是什么 下面是一些代码:Javascript 将JSON.stringify值设置为变量时,它会添加'\';到前面和\';到底,javascript,json,stringify,Javascript,Json,Stringify,我确信我遗漏了一些基本的东西,但我不确定是什么 下面是一些代码: var carColor = JSON.stringify(this.car.color); document.getElementById('id').innerHTML = carColor; // displays: "blue" console.log(carColor); // displays: '\'blue\'' 我假设我可以使用一个函数删除文本中的斜杠,但是有没有更好的方法使该变量与颜色名称相等?
var carColor = JSON.stringify(this.car.color);
document.getElementById('id').innerHTML = carColor; // displays: "blue"
console.log(carColor); // displays: '\'blue\''
我假设我可以使用一个函数删除文本中的斜杠,但是有没有更好的方法使该变量与颜色名称相等?JSON.stringify()的行为是标准化的,不会添加您正在观察的斜杠 但是,
console.log()
的精确行为没有跨平台标准化,可能会有所不同。一个提议的规范正在开发中,但仍处于非常早期的阶段(我还不清楚它是否会涵盖这个细节)。你不能指望它的输出是完全一致的
在某些平台上,字符串可能会在显示之前自动重新转义,以便读者(假定读者是开发人员,而不是会感到困惑的最终用户)能够清楚地看到任何特殊字符。当字符串已经用JSON.stringify()
转义时,这种双重转义可能会导致输出中显示反斜杠,正如您所经历的那样
您可以使用另一种显示文本的方法,如
alert()
,来验证字符串的实际内容。JSON.stringify()的行为是标准化的,不会添加您正在观察的斜杠
但是,console.log()
的精确行为没有跨平台标准化,可能会有所不同。一个提议的规范正在开发中,但仍处于非常早期的阶段(我还不清楚它是否会涵盖这个细节)。你不能指望它的输出是完全一致的
在某些平台上,字符串可能会在显示之前自动重新转义,以便读者(假定读者是开发人员,而不是会感到困惑的最终用户)能够清楚地看到任何特殊字符。当字符串已经用JSON.stringify()
转义时,这种双重转义可能会导致输出中显示反斜杠,正如您所经历的那样
您可以使用另一种显示文本的方法,如
alert()
来验证字符串的实际内容。“\”是一个分隔符,允许在字符串中使用保留字符
可在此处找到完整列表:
基本上,如果我有这样一个字符串:
“他说‘嗨!’代码>,javascript会将其解释为字符串“他说”
,然后尝试执行代码嗨代码>并遇到问题。要告诉javascript您想在字符串中插入一个引号,您需要编写\'
,这样这个字符串现在就变成”,他说“嗨!”代码>
在本例中,您有一个color
变量,该变量被分配字符串“blue”
。JSON被设计用来传送对象,所以通常你会有一个JSON字符串'color:\'blue\'
。因为只有值被JSONified,所以它成为字符串'blue'
,其中包含“”
,并将被写入'blue\'
。希望有帮助 “\”是一个分隔符,允许在字符串中使用保留字符
可在此处找到完整列表:
基本上,如果我有这样一个字符串:
“他说‘嗨!’代码>,javascript会将其解释为字符串“他说”
,然后尝试执行代码嗨代码>并遇到问题。要告诉javascript您想在字符串中插入一个引号,您需要编写\'
,这样这个字符串现在就变成”,他说“嗨!”代码>
在本例中,您有一个color
变量,该变量被分配字符串“blue”
。JSON被设计用来传送对象,所以通常你会有一个JSON字符串'color:\'blue\'
。因为只有值被JSONified,所以它成为字符串'blue'
,其中包含“”
,并将被写入'blue\'
。希望有帮助 这可能就是一些console.log
实现用引号字符表示字符串的方式。尝试使用alert
查看它们是否在字符串中。this.car.color
的值是多少?@JeremyBanks-谢谢!看来你是对的that@Jasen在本例中为“蓝色”。我只是想得到那个值,然后在开关中使用它statement@JeremyBanks如果你回答这个问题,我会很高兴地把这个标记为已回答。谢谢回复!这可能就是一些console.log
实现用引号字符表示字符串的方式。尝试使用alert
查看它们是否在字符串中。this.car.color
的值是多少?@JeremyBanks-谢谢!看来你是对的that@Jasen在本例中为“蓝色”。我只是想得到那个值,然后在开关中使用它statement@JeremyBanks如果你回答这个问题,我会很高兴地把这个标记为已回答。谢谢回复!