我在使用jQuery parseJSON
解析数据数组时遇到问题,返回:
SyntaxError:位置1的JSON中的意外标记
var selected = $('input[type=radio][name=packs]:checked');
gf_allowed = $.parseJSON(selected.data('gf_allowed'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" name="packs" value="361" data-price="22,00" data-desc=" 2 GGFF + BUGGIE(22.00EUR pax)" data-gf_exact="True" data-gf_allowed="["2", "4"]" checked="true">
我做错了什么?
答案 0 :(得分:0)
您的代码的问题是因为jQuery已经识别出属性中保存的值是JSON,因此将其解析为对象。你再次解析它的问题是造成这个问题的原因。
要解决此问题,请删除$.parseJSON()
电话:
var selected = $('input[type=radio][name=packs]:checked');
var gf_allowed = selected.data('gf_allowed'); // jQuery has already parsed this for you
console.log(gf_allowed);
console.log(gf_allowed[1]); // = 4
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="radio" name="packs" value="361" data-price="22,00" data-desc=" 2 GGFF + BUGGIE(22.00EUR pax)" data-gf_exact="True" data-gf_allowed="["2","4"]" checked="true">