如何从JSON格式的数据集中提取DataTable

本文关键字:数据集 集中 提取 DataTable 数据 JSON 格式 | 更新日期: 2023-09-27 17:58:26

我正在使用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 DataTable返回:

[{"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"}]}

小提琴演示

var json=jsonds['patients'];var json=data['patients'];

如何从JSON格式的数据集中提取DataTable

最后,我成功了。

Ajax成功中,请执行以下操作。。。

var dataSet = jQuery.parseJSON(data.d);
var dataTable = dataSet["patients"];
$.each(dataTable, function () {
    myDropDownList.append($("<option></option>").val(this['id']).html(this['name']));
});
var aa={"patients":[{"name":"sam","id":"1"},{"name":"mark","id":"2"}],"medications":[{"id":"1","medication":"atenolol"},{"id":"2","medication":"amoxicillin"}]}
console.log(aa["patients"]);
console.log(aa["medications"]);

这只是的一个例子

您可以看到,当您有两个级别的json对象时,您必须将其与名称一起使用

你的对象会像数据表

请查看此处的演示演示