gpt4 book ai didi

javascript - eval 不起作用,但 JSON.parse 可以

转载 作者:行者123 更新时间:2023-11-30 18:20:32 25 4
gpt4 key购买 nike

我有一个从服务器返回的字符串。它的格式是,

[{"text":"content"}]

其中 content 是一个动态字符串,会根据用户操作而变化。在一个这样的特殊情况下,无法评估返回的字符串,但是当我使用 JSON.parse 时,它工作正常,没有问题。我的评估如下

eval("(" + response + ")").

由于某些限制,我无法在此处粘贴有问题的字符串。但是是否存在 eval 不起作用而 JSON.parse 起作用的特定情况?

编辑1:我缩小了问题范围,给出问题的特定字符串是,

[{"con" :"g
<\/font><\/td"}]

这个字符串不能被求值但是可以被解析。我想这个问题是因为刺痛“/”。但我不明白为什么。在这方面的任何帮助都会很棒。

编辑 2:g 和 < 之间存在一个不可见的字符,这是导致问题的原因。有谁知道是什么 Angular 色吗?我会将 eval 更改为 JSON.parse。但我想知道它失败的原因。

最佳答案

那个有问题的字符是 U+8232,Unicode LINE SEPARATOR .它会在各种浏览器中导致“未终止的字符串文字”语法错误,这就是它对 eval() 字符串不起作用的原因。 JSON.parse 可以解决这个问题,如 JSON is not really a JS subset从这个 Angular 来看。

关于javascript - eval 不起作用,但 JSON.parse 可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12145796/

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