怎么使用json的数据啊???????????????
我用jQuery的 Ajax去获取数据返回json格式的数据
jQuery.ajax({
type: "POST",
url: "../Ajax/ThePublic.ashx?OwnType=Getcode&code=" + codeId,
dataType: "json",
success: function (GetValue) {
alert(GetValue.programmers.hard_type);
},
error: function (XmlHttpRequest, textStatus, errorThrown) {
alert('错误:' + XmlHttpRequest.responseText); }
});
后台:
public string jsonGe(DataTable dt) {
StringBuilder sb = new StringBuilder();
sb.Append("{");
sb.Append(""programmers":[{");
for (int i = 0; i < dt.Rows.Count;i++ )
{
for (int j = 0; j < dt.Columns.Count;j++ )
{
sb.Append("""+dt.Columns[j].ColumnName.ToString()+"":");
sb.Append(""" + dt.Rows[i][j].ToString() + "",");
}
}
sb.Append("}]}");
return sb.ToString();
}
返回的json格式数据:{ "programmers": [{ "firstName": "Brett", "lastName": "McLaughlin", "email": "aaaa"}] }
在得到数据那里用alert(GetValue.programmers[0].hard_type);去弹出查看时就不行,显示错误:错误: 无法获取属性“0”的值: 对象为 null 或未定义。
但是我直接在函数里面这样写上:var people = { "programmers": [{ "firstName": "Brett", "lastName": "McLaughlin", "email": "aaaa"}] }
用alert(GetValue.programmers[0].firstName); 去弹出数据都能正确,就是在后台返回的这样的格式去弹出就报错。请问这么解决啊,这个是那里出问题了?
还有个就是 dataType: "json", 这个是正确的但是先进入error里面再进入success 这里,写成错误的dateType: "json", 这样就先进入success里面,有错误才进error里面,我都被搞糊涂了。
[解决办法]
alert(GetValue.programmers.hard_type); 这句写错了