我知道这类问题很多,但是一点帮助就会很好。
所以,我有一个JSON如下 -
<input id='JSONdata' type='hidden' value='[
{
"lat": 40.741895,
"lng": -73.989308,
"description": "<div class=\"map-popup\"><figure><img src=\"/images/default-source/default-album/img-000119d0a79213e34d3a8fba81594be76eb9.tmb-devthumb.jpg?sfvrsn=9998b2ca_1\"><figcaption><h4>\"Bowland house 3\"</h4><h5>\"\"</h5><a href=\"\" class=\"btn btn-success\">Find out more</a></figcaption></figure>/div>",
"icon": "/sf_images/ico-0005.svg"
},
{
"lat": 40.741895,
"lng": -73.989308,
"description": "<div class=\"map-popup\"><figure><img src=\"/images/default-source/default-album/img-000119d0a79213e34d3a8fba81594be76eb9.tmb-devthumb.jpg?sfvrsn=9998b2ca_1\"><figcaption><h4>\"Bowland house\"</h4><h5>\"\"</h5><a href=\"\" class=\"btn btn-success\">Find out more</a></figcaption></figure>/div>",
"icon": "/sf_images/ico-0005.svg"
}
]' />
这是从asp.net生成的,并使用 -
在页面上编写 Response.Write(string.Concat("<input id='JSONdata' type='hidden' value='", json, "' />"));
写下here的答案。我试着通过
来读取值var jq = $.noConflict();
var json2 = jq('#JSONdata');
var JSONData = JSON.parse(json2.value);
但是我收到以下错误 -
无法读取价值,让我头疼......
有什么想法吗?
答案 0 :(得分:1)
替换你的行
var JSONData = JSON.parse(json2.value);
与
var JSONData = JSON.parse(json2[0].value);
答案 1 :(得分:0)
这意味着您的变量json2.value
未定义。您已将undefined
传递给JSON.parse,并且由于第一个字母为u
,因此它会显示“意外令牌”。