asp.net利用JQuery获取JSON,无法转换为对象
客户端的JS是这样写的:
$.getJSON("/tools/submit_ajax.ashx?action=user_job_education_edit&id=" + id, function (json) {
alert(json.jobeduinfo[0].id);
});
服务器端代码:
string JsonDt = Common.DatatableToJson.DataTableToJson("jobeduinfo", dt);
context.Response.Write(JsonDt);
return;
通过火狐的firebug查看到返回的是HTML格式的JSON数据:
{"jobeduinfo": [{"id":"1","userid":"299","fromyear":"2003","frommonth":"6","toyear":"2010","tomonth":"7","school":" 湖北大学","profession":"","degree":"6","contents":"360要推便携路由器,个人觉得其主要目的是盯住了用 户无线设备上的信息。因为如果用户移动设备都通过它这个路由器走的话,未加密的数据全部在他掌控之中。 其实Windows 7以上的系统是非常容易建立无线热点的,为了更容易地实现将PC作为无线热点的功能,写了个小工具,希望大家少去用360这种危险的东西。 实现原理其实很简单,调用命令行,运行一下几条命令:"}]}
请问如何转换为JSON对象
eval $.parseJSON 都试过了!
------解决方案--------------------去网上下载一个Newtonsoft.Json.dll
------解决方案--------------------
var jsonstr = '{"jobeduinfo": [{"id":"1","userid":"299","fromyear":"2003","frommonth":"6","toyear":"2010","tomonth":"7","school":" 湖北大学","profession":"","degree":"6","contents":"360要推便携路由器,个人觉得其主要目的是盯住了用 户无线设备上的信息。因为如果用户移动设备都通过它这个路由器走的话,未加密的数据全部在他掌控之中。 其实Windows 7以上的系统是非常容易建立无线热点的,为了更容易地实现将PC作为无线热点的功能,写了个小工具,希望大家少去用360这种危险的东西。 实现原理其实很简单,调用命令行,运行一下几条命令:"}]}';
var jsonobjs = eval("("+jsonstr+")");
console.log(jsonobjs.jobeduinfo[0].userid);
------解决方案--------------------string JsonDt = Common.DatatableToJson.DataTableToJson("jobeduinfo", dt);
context.Response.Write(JsonDt);
return;
加一句
string JsonDt = Common.DatatableToJson.DataTableToJson("jobeduinfo", dt);
context.Response.ContentType = "application/json";
context.Response.Write(JsonDt);
return;
------解决方案--------------------使用getJSON的话要标准的Json格式哦。我记得要加\