Javascript jquery数据未分析值html5数据自定义属性

Javascript jquery数据未分析值html5数据自定义属性,javascript,jquery,json,html,Javascript,Jquery,Json,Html,我有以下由后端生成的HTML标记 <select name="brand" class="form-control"> <option value="1" data-info="[{id=1, name=detail#1}, {id=2, name=detail#2}, {id=3, name=detail#3}]">brand#1</option> <option value="2" data-info="[{id=3, name=de

我有以下由后端生成的HTML标记

<select name="brand" class="form-control">
    <option value="1" data-info="[{id=1, name=detail#1}, {id=2, name=detail#2}, {id=3, name=detail#3}]">brand#1</option>
    <option value="2" data-info="[{id=3, name=detail#3}, {id=4, name=detail#4}, {id=5, name=detail#5}]">brand#2</option>
</select>
但当我得到typeof信息时,我会得到一个字符串,我需要和object

如果我尝试JSON.parse(info),我会在JSON数据的第1行第3列得到SyntaxError:JSON.parse:expected属性名或“}”

我理解这个错误可能有两个原因:信息已经被解析,或者它不是有效的json


非常感谢任何帮助

jQuery的JSON处理程序只翻译有效的JSON。其中包含的JSON无效。具体来说,它缺少必要的引号,您使用的是
=
而不是
。应该是这样的:

<option value="1" data-info='[{"id":1, "name":"detail#1"}, {"id":2, "name":"detail#2"}, {"id":3, "name":"detail#3"}]'>brand#1</option>
品牌#1

作为参考,.

jQuery的JSON处理程序只翻译有效的JSON。其中包含的JSON无效。具体来说,它缺少必要的引号,您使用的是
=
而不是
。应该是这样的:

<option value="1" data-info='[{"id":1, "name":"detail#1"}, {"id":2, "name":"detail#2"}, {"id":3, "name":"detail#3"}]'>brand#1</option>
品牌#1

作为参考,.

您拥有的JSON无效您拥有的JSON无效您是对的@Ourobrus,我刚刚修复了后端的错误,现在按照您的建议呈现有效的JSON,我正在获取对象您是对的@Ourobrus,我刚刚修复了后端的错误,现在按照您的建议呈现有效的JSON,我正在获取对象