当从数据属性读取JSON时,HTML实体转换为它们的字符值

提姆

我正在尝试访问数据属性中的字符串化JSON数组。但是,当我使用$(...).data('whatever')或来获取值时$(...).attr('data-whatever')"JSON内容中的HTML实体(例如)将转换为它们的字符表示形式(例如"),这会导致在解析时会误解JSON字符串。

例如,如果我的data属性的值为["Oberlin City Club: Opera Preview","Documentary Screening "Still Dreaming: Frances Walker at 93""],则使用$(...).data()return读取此内容["Oberlin City Club: Opera Preview","Documentary Screening "Still Dreaming: Frances Walker at 93""]为什么将JavaScript转换""如何读取data属性而不转换""

console.log($('div').attr('data-titles'));
console.log(JSON.parse($('div').attr('data-titles')));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-titles='["Oberlin City Club: Opera Preview","Documentary Screening &quot;Still Dreaming: Frances Walker at 93&quot;"]'></div>

特拉维斯J

为什么JavaScript会转换&quot;为“?”

在这种情况下,没有。通过&quot;在您的响应中使用,浏览器将as解析,"并将其解析为属性。这是因为您使用了html实体。

HTML实体是一段文本(“字符串”),以与号(&)开头,以分号(;)结束。实体MDN

结果,JavaScript没有机会纠正这种情况。您需要找出一种&quot;在模板引擎中进行不同呈现的方法,最好是使用双编码对报价进行编码&amp;quot;(如@Barmar在评论中所述)。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

解析数据org.json.JSONException时出错:值字符串无法转换为JSONArray

在Android中将HTML实体转换为字符

从XML转换为JSON时更改属性值

如何在JQuery中将HTML数据属性转换为JSON?

从表格数据转换为 json 时避免转义字符

将Json / Dict响应保存到数据帧-导出时将它们转换为字符串。如何避免这种情况?

使用Swift 4将HTML数据转换为JSON转换为字符串

读取CSV文件时如何将字符串值转换为整数值?

从CSV读取到数据框熊猫python时dict对象转换为字符串

Swift:在将html字符串转换为属性字符串时添加空白

在进行 ffmpeg 转换时将元数据值转换为字符串

将字符串的 varchar 值转换为数据类型 int 时转换失败

读取核心数据实体的属性值

转换为JSON时,对象属性消失

写入json时将字典值从列表转换为字符串的Python转换

从MYSQL读取数据并将其放入DynamoDB时,“将循环结构转换为JSON”

如何使用纯JavaScript将字符转换为HTML实体

PHPSpreadsheet-编写HTML实体/转换为相应的字符

将所有字符转换为HTML实体

HTML实体转换为PHP中的普通字符串

如何将Unicode特殊字符转换为html实体?

如何将json字符串转换为ko.observableArray([]),它们得到未定义的错误数据?

转换为JSON时为什么会转义相关实体?

AttributeError:“ dict”对象在将json字符串转换为Python对象时没有属性

使用ConvertTo-Json时,powershell将date属性转换为字符串

从熊猫数据框中检索值时将整数转换为字符串类型

检索数据时(无法将值转换为字符串)(属于ToMany关系)

在Powershell中转换为JSON时如何排除非值对象属性

将ini读取的值(字符串)转换为int