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 都试过了! jQuery ASP.NET JSON
[解决办法]
去网上下载一个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格式哦。我记得要加\
{"\jobeduinfo\": [{"\id\":"\1\","\userid\":"\299\","\fromyear\":"\2003\","\frommonth\":"\6\","\toyear\":"\2010\","\tomonth\":"\7\","\school\":"\ 湖北大学\","\profession\":"\\","\degree\":"\6\","\contents\":"\360要推便携路由器,个人觉得其主要目的是盯住了用 户无线设备上的信息。因为如果用户移动设备都通过它这个路由器走的话,未加密的数据全部在他掌控之中。 其实Windows 7以上的系统是非常容易建立无线热点的,为了更容易地实现将PC作为无线热点的功能,写了个小工具,希望大家少去用360这种危险的东西。 实现原理其实很简单,调用命令行,运行一下几条命令:\"}]}
就像5楼说的吧!
[解决办法]
说明你返回的不是json格式的数据,所以会失败
[解决办法]
你调试一下 看你最后串的结果是什么,就是一般处理程序中的 JsonDt 然后贴上来分析一下