无法从HTML输入元素ASP.NET中读取JSON数据

时间:2017-05-05 20:46:21

标签: javascript c# jquery asp.net json

我知道这类问题很多,但是一点帮助就会很好。

所以,我有一个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);

但是我收到以下错误 -

enter image description here

无法读取价值,让我头疼......

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

替换你的行

var JSONData = JSON.parse(json2.value);

var JSONData = JSON.parse(json2[0].value);

答案 1 :(得分:0)

这意味着您的变量json2.value未定义。您已将undefined传递给JSON.parse,并且由于第一个字母为u,因此它会显示“意外令牌”。