我有这个 HTML 框:
<span>Select depatament</span><span>
<select id="department" onchange="EnableSlaveSelectBox(this)" data-slaveelaments='{"a": 1, "b": "2"}'>
<option selected disabled>-Select-</option>
</select>
</span>
事件 onchange() 实现:
function EnableSlaveSelectBox(element) {
var d = $('#department').data('slaveelaments');
alert($.parseJSON(d));
}
但是当 onchange() 事件被触发时,我得到这一行:
alert($.parseJSON(d));
此错误:
SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
return JSON.parse( data + "" );
知道为什么我会收到上面的错误吗?
最佳答案
因为,有趣的是,jQuery 似乎会自动将字符串解析为对象。要测试这一点:
alert(d); // [object Object]
或者执行此操作以再次查看字符串化版本:
alert(JSON.stringify(d)); // {"a":1,"b":"2"}
旁白:在测试之前我并不知道 jQuery 会这样做。
关于javascript - 无法将 JSON 解析为 Javascript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30172019/