Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JSON.stringify值设置为变量时,它会添加'\';到前面和\';到底_Javascript_Json_Stringify - Fatal编程技术网

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如果你回答这个问题,我会很高兴地把这个标记为已回答。谢谢回复!