如何在jQuery中解析这个无效的JSON字符串?

Les*_*ove 2 javascript jquery json

我希望访问此数据属性中的各种数据位:

<div class="location" data="{id: 4, point: {lng: -71.413364, lat: 41.673681}, category: 'Restaurant'}">
Run Code Online (Sandbox Code Playgroud)

当然,数据属性很容易在jQuery中实现.但该字符串似乎是一种非标准或无效的JSON形式.我已经尝试过JSON.parse()以及分割数组的基本JS方法.从各方面来看,它似乎只是一个无效序列化的字符串.

我需要重新格式化数据字符串吗?(它不是来自我,它被其他惯例使用,我宁愿不打破,所以...)

Poi*_*nty 6

通常我会说这很危险(事实上我现在会说),但试试:

var decoded;  eval("decoded = " + $('div.location').attr('data'));
Run Code Online (Sandbox Code Playgroud)

这是无效的JSON,因为标签没有引用.