【发布时间】:2019-02-04 22:46:03
【问题描述】:
console.log(JSON.stringify($('.btn').attr('data-obj')))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="btn btn-info user_action" data-action="edit_faqs" data-obj="{SysID:2,Artist:Json Mras,Song:I'm yours}" data-toggle="modal " data-target="#SongsModal
"><i class="fa fa-edit "></i> Edit</button>
我找到了this,但这在我的情况下有点不同。
当我尝试在开发工具中看到的数据上使用 JSON.stringify 时
//I want I'm Yours
"{\"Song\":\"I"
数据存储在我的数据库中,我在 ajax 请求中获取它,我想对其使用 JSON.stringify,因为我会将它作为 data-* 放在一个按钮上,然后当我单击该按钮时将使用该按钮.单击按钮时,我想使用JSON.parse,以便对其进行迭代。
如何转义JSON.stringify和JSON.parse中的所有特殊字符
错误是:
未捕获的 SyntaxError:JSON 输入意外结束
指向JSON.stringify
添加了一个 sn-p 但它没有重现问题所以我添加了一个图像
数据库:
更新:
我从 ajax 请求中获取数据。获取数据后我使用data_array = JSON.stringify(data[i]); 然后将数据应用为data-obj='" + data_array + "'
【问题讨论】:
-
对不起,我不能相信你。如果你执行
JSON.stringify("I want I'm Yours"),你会得到字符串"I want I'm Yours"(带双引号),而不是{\"Song\":\"I"。 JavaScript 不会发明“歌曲”这个词,所以输入显然不是你说的那样。如果你有 JSON 兼容的数据,通过stringify运行它然后parse是非常安全的。链接问题的问题是他从错误的 JSON 开始,然后尝试在其上运行parse。 -
你能显示更多代码吗?我怀疑
I want I'm Yours只是通过 JSON.stringify 变成了"{\"Song\":\"I" -
另外,没有办法从
JSON.stringify获得“JSON输入的意外结束”,只能从JSON.parse获得 -
我将展示它在 dev 中的样子给我一分钟
-
@Amadan 我添加了一个 sn-p 但它没有重新创建所以我添加了图像
标签: javascript jquery json stringify