只要是简短代码,我就可以解释我的问题。
这是我的C#代码:
List<MaZone> ListZoneValues = new List<MaZone>();
ListZoneValues.Add(new MaZone()
{
ZoneIc = int.Parse(DataReader["ZoneIC"].ToString()),
ZoneName = DataReader["ZoneName"].ToString()
});
HttpContext.Session.SetString("ZoneDetails",JsonConvert.SerializeObject(ListZoneValues));
这是我的JavaScript代码。
var ZoneDetailsVB = '@HttpContextAccessor.HttpContext.Session.GetString("ZoneDetails")';
JSON.parse(ZoneDetailsVB);
但是错误是在解析Json时出现的。 错误是:
Uncaught SyntaxError: Unexpected token & in JSON at position 2
at JSON.parse (<anonymous>)
Json字符串已接收:
[{"ZoneIc":1,"ZoneName":"Zone1"},{"ZoneIc":2,"ZoneName":"Zone1 & 2"},{"ZoneIc":3,"ZoneName":"Zone2"},{"ZoneIc":4,"ZoneName":"Zone4"},{"ZoneIc":5,"ZoneName":"Zone5"},{"ZoneIc":6,"ZoneName":"Zone 6"},{"ZoneIc":7,"ZoneName":"Zone Num 7"}]
谢谢。
答案 0 :(得分:0)
如果您使用的是jQuery,则可以执行以下操作
function htmlDecode(value) {
return $("<textarea/>").html(value).text();
}
var ZoneDetailsVB = '@HttpContextAccessor.HttpContext.Session.GetString("ZoneDetails")';
JSON.parse(htmlDecode(ZoneDetailsVB));
您还可以使用 he 库https://github.com/mathiasbynens/he
第三种解决方法是使用
Html.Raw
var ZoneDetailsVB = '@(Html.Raw(HttpContextAccessor.HttpContext.Session.GetString("ZoneDetails").ToString()))'
答案 1 :(得分:-1)
我相信您没有获得正确的JSON输出,您可以转储原始数据并测试您的JSON是否正确,也可以使用一些在线工具,例如: