gpt4 book ai didi

javascript - JSON.stringify - 数组中带有反斜杠的奇怪行为

转载 作者:行者123 更新时间:2023-11-30 12:25:15 40 4
gpt4 key购买 nike

我在玩 JS 时注意到一个奇怪的行为,即反斜杠 \ 插入到使用 JSON.stringify() 打印的数组中的字符串中。当然反斜杠是用来转义特殊字符的,但是如果我们需要在字符串中加入反斜杠会怎样呢?只需使用反斜杠来转义您所想的本身,但它不适用于 JSON.stringify

这应该打印一个反斜杠

array = ['\\'];
document.write(JSON.stringify(array));

这应该打印两个反斜杠

array = ['\\\\'];
document.write(JSON.stringify(array));

我错过了什么吗?可以认为这是 JSON.stringify 的错误吗?

最佳答案

这是正确的。 JSON.stringify 将返回重新创建该对象所需的字符串 - 因为您的字符串需要您转义反斜杠,它还会返回所需的转义反斜杠以正确生成字符串。

试试这个:

array = ['\\'];
var x = JSON.stringify(array)
var y = JSON.parse(x)
if (array[0] == y[0]) alert("it works")

array = ['\\'];
if (JSON.parse(JSON.stringify(array))[0] == array[0]) alert("it really works")

关于javascript - JSON.stringify - 数组中带有反斜杠的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29639251/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com