c#对象/datatable转json

dataTable中有多行数据(返回的结果用于前台table的渲染)

public static string DataTableToJson(DataTable dt)
        {
            List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
            foreach (DataRow dr in dt.Rows)
            {
                Dictionary<string, object> result = new Dictionary<string, object>();
                foreach (DataColumn dc in dt.Columns)
                {
                    result.Add(dc.ColumnName, dr[dc]);
                }
                list.Add(result);
            }
            int recursionLimit = 100;
            JavaScriptSerializer serialize = new JavaScriptSerializer();
            serialize.RecursionLimit = recursionLimit;
            serialize.MaxJsonLength = Int32.MaxValue;
            return serialize.Serialize(list);
        }

dataTable中有一行数据,转json的方法和对象转json的方法一样

DataTable dt=mysql.SelectUserbyID(id).Tables[0];
string json = JsonConvert.SerializeObject(dt);

返回前台的json字符串外面有一层中括号

[{"UserID":2,"UserNo":"1002","UserName":"用户2","Password":"ADczQ+KeeZG2g8w3HwQrM2EVpzytTAytDyXF/Ar8JW126Kn5mrm7N58ZGei+YdoMtg==","Description":"xxz","Creator":"admin","CreationTime":"2020-12-28T11:13:56","Status":1,"DeptID":2,"Sex":0,"Phone":"123123","LastLoginTime":null}]

前台ajax取值

$.ajax({
                url: "../../Handler/doUser.ashx?act=5",
                type: "post",
                async: false,
                data: { Fid: id },
                dataType: "text",
                success: function (data) {
                    data = jQuery.parseJSON(data);
                    form.val("formTestFilter", {
                        "UserID": id
                        , "username": data[0].UserName
                        , "DeptID": data[0].dept
                        , "Phone": data[0].Phone
                        , "sex": data[0].Sex
                        , "desc": data[0].Description
                        , "userno": data[0].UserID
                    });

                }
            });

 

posted @ 2021-01-28 15:36  缓缓而已  阅读(979)  评论(0编辑  收藏  举报