我正在使用 Newtonsoft dll 进行序列化。我目前正在以 Json 格式从 webmethod 返回 DataTable。它工作正常。但我想通过返回 DataSet 而不是 DataTable 来做同样的事情。我尝试了很多方法,但似乎都不起作用。
function GetDropDownData() {
var myDropDownList = $('.myDropDownLisTId');
$.ajax({
type: "POST",
url: "test.aspx/GetDropDownDataWM",
data: '{name: "abc" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$.each(jQuery.parseJSON(data.d), function () {
myDropDownList.append($("<option></option>").val(this['id']).html(this['name']));
});
},
failure: function (response) {
alert(response.d);
}
});
}
function OnSuccess(response) {
console.log(response.d);
alert(response.d);
}
返回的 Json 数据表:
[{"name":"sam","id":"1"},{"name":"mark","id":"2"}]
返回的 Json 数据集:
{"patients":[{"name":"sam","id":"1"},{"name":"mark","id":"2"}],"medications":[{"id":"1","medication":"atenolol"},{"id":"2","medication":"amoxicillin"}]}
fiddle Demo
var json=jsonds['patients'];
和 var json=data['patients'];
最佳答案
终于,我成功了。
在 Ajax
Success 中,按照下面的操作...
var dataSet = jQuery.parseJSON(data.d);
var dataTable = dataSet["patients"];
$.each(dataTable, function () {
myDropDownList.append($("<option></option>").val(this['id']).html(this['name']));
});
关于c# - 如何从JSON格式的DataSet中提取DataTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23079067/