【发布时间】:2017-08-14 20:45:50
【问题描述】:
我有一个来自我的数据库表的 JSON 字符串,但它的根元素名称为空
{"": [
{"ID":18,"MenuName":"dsadasdasd","IsActive":"InActive"},
{"ID":17,"MenuName":"Karachi","IsActive":"Active"},
{"ID":2,"MenuName":"User Management","IsActive":"Active"},
{"ID":1,"MenuName":"Home","IsActive":"Active"}
]}
我正在尝试使用以下 jquery ajax 调用方法访问此 JSON
function Get_DataTable() {
$.ajax({
url: "GridView_JqueryFunctionality.aspx/CallDataTable_EmptyRootName",
type: "POST",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
alert(data.d) // showing json is fine
var MyData = $.parseJSON(data.d);
for (i = 0; i < Object.keys(MyData).length; i++) {
alert(MyData[i].ID + ' : ' + MyData[i].MenuName);
}
}
});
}
我的网络方法
[WebMethod(true)]
public static string CallDataTable_EmptyRootName(){
List<Category> Categories = new List<Category>();
clsMenu objMenu = new clsMenu();
DataTable dt = new DataTable();
objMenu.GetAllMenu(dt);
if (dt.Rows.Count > 0){
string jsonString = ConversionExtension.DataTabelToJson(dt);
return jsonString.ToString();
}else{
return "";
}
}
它给了我undefined:undefined...请帮助我。我现在卡住了
【问题讨论】:
-
这看起来不像是有效的 JSON。最后你有一个无与伦比的
]。 -
我知道这是复制错误。使用 jsonlint.com 很好地格式化您的 JSON,然后将其粘贴到代码块中,而不是引用,因此格式将被保留。
标签: javascript jquery asp.net json ajax