字符串包含src =“”或id =“”属性时无法$ .parseJSON()

用户名

我可以在执行此操作时使用$ .parseJSON():

var myString = '{ "Header": "<p>some content</p>"}';
var modelJsonObject = $.parseJSON(myString);

但是当"Header"价值保持不变src=""id=""等等。如下所示:

var myString = '{ "Header": "<p><img src=\"http://placehold.it/50x50\" style=\"line-height: 1.3; width: 50px;\"><br></p>"}';

然后我在控制台中收到一个SyntaxError:意外令牌

该怎么办?

牛肉

由于JSON字符串开始,以引号(结束"),任何此类引号的字符串必须转义,像这样:\"这样一个只包含引用的JSON字符串会"\""

但是,这里有JavaScript的语法。'\"'JS编写的字符串将产生字符串"(尝试console.log('\"')。)由于反斜杠在JS中具有特殊含义,因此必须将其转义。

上面的总和是一个仅包含用JS编写的引号的JSON字符串为:

'"\\""'

总之,您的字符串必须这样写:

var myString = '{ "Header": "<p><img src=\\"http://placehold.it/50x50\\" style=\\"line-height: 1.3; width: 50px;\\"><br></p>"}';
//             1            2              3
  1. JavaScript字符串的开始
  2. 是开始JSON字符串的JS字符串。
  3. 是报价的JSON字符串。

请注意,在JS中使用单引号可以使我们不必逃脱JS的双引号,但是JSON语法仍然必须正确。如果我们在字符串上使用双引号,那么我们将得到一个看起来很有趣的东西:

"{ \"Header\": \"<p><img src=\\\"http://placehold.it/50x50\\\" style=\\\"line-height: 1.3; width: 50px;\\\"><br></p>\"}";

哪里\\\"有一个JS逸出的反斜杠(\\),然后是一个JS逸出的引号(\"),从而生成了一个JSON逸出的引号。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用$ .parseJSON()时无法遍历数组

TypeError:无法在字符串“ /:id”上创建属性“ next”

jQuery parseJson完成时的反馈

提取id属性字符串

获取包含字符串的ID

jQuery.parseJSON()无效字符错误

当且仅当它包含使用 REGEX 的特定 ID 时,在分隔符之间匹配字符串

将字符串替换为ID时无法联接表

nHibernate为Id生成Guid,但属性为字符串

如何在字符串属性 (SQL) 中搜索 id

如何插入没有 ID 属性的 JSON 字符串?

PHP替换image src并从包含不同html标签的字符串中在image标签中添加新属性

我正在尝试从python regex解析字符串-字符串包含“:”时无法解析

TypeError:无法在字符串上创建属性“ _id”

ValueError:无法将字符串转换为float:id

>无法应用插件[id'kotlin']>对于输入字符串:“”

jq:无法索引具有字符串“ id”的数组

在Elasticsearch中无法将字符串用作_id的值

ID为字符串时为N +1(JpaRepository)

获取元素的ID,其中该类包含给定的字符串

查找id包含两个子字符串的元素

使用querySelector排除ID包含特殊字符串的元素

查找 id 字符串包含某个字符串的位置

使用 selenium 和 Python 时,如何设置等待条件来检查没有 div 元素的 ID 包含某个字符串?

VueJs - 将字符串放在 img src 属性中

php | 给定 html 字符串,如何提取 src 属性?

无法发送包含尖锐字符的密钥字符串

当字符串包含数字和多余的字符时,将字符串解析为int

字符串中包含ANSI转义字符时,将忽略Python字符串格式