gpt4 book ai didi

javascript - 为什么浏览器将我的单引号更改为双引号并破坏数据属性中的 JSON?

转载 作者:行者123 更新时间:2023-11-30 21:08:14 24 4
gpt4 key购买 nike

这应该比现在容易得多,但它让我卡住了。

我将一些 JSON 放在输入数据属性中,第一个键上的引号关闭了属性。

这是我正在尝试做的:

var html = `<input type="checkbox" data-values='${dataVals}' />`;

其中dataVals就是这样一个JSON字符串

'{"checked":true,"unchecked":false}'

但它在浏览器中显示如下:

<input type="checkbox" data-values="{"checked":true,"unchecked":false}">

浏览器基本上就像是这样读取它。

data-values="{"

这显然不是我想要的。

我显然遗漏了什么。有什么想法吗?

最佳答案

@T.J. 的组合克劳德和@Teemu

我在json字符串末尾添加了一个replace,用"

替换双引号
JSON.stringify({ ... }).replace(/\"/g, "&quot;")

然后当我想稍后获取值时也停止尝试运行 JSON.parse(),因为 $.data('values') 已经返回了一个 javascript 对象(当它可以时)。

JSON.parse($(this).data('values')) => $(this).data('values')

关于javascript - 为什么浏览器将我的单引号更改为双引号并破坏数据属性中的 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46410748/

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