Tukar DataTable kepada JSON dalam C#
Artikel ini meneroka cara menukar objek DataTable dalam C# kepada format JSON. Masalahnya bermula dengan mendapatkan semula rekod daripada pangkalan data ke dalam Jadual Data, kemudian menukarnya kepada objek JSON dan mengembalikannya kepada fungsi JavaScript. Walau bagaimanapun, format JSON yang diperlukan adalah berbeza daripada output semasa. Artikel ini menyediakan penyelesaian untuk mencapai format JSON yang diingini.
Untuk menyelesaikan masalah ini, anda boleh menggunakan kaedah bersiri yang berbeza. Daripada menggunakan JsonConvert.SerializeObject
, pertimbangkan untuk menggunakan System.Web.Script.Serialization
dalam ruang nama JavaScriptSerializer
. Alternatif ini membolehkan kawalan yang lebih besar ke atas struktur output JSON.
Berikut ialah contoh cara melaksanakan penyelesaian ini:
<code class="language-csharp">public string ConvertDataTabletoString() { DataTable dt = new DataTable(); using (SqlConnection con = new SqlConnection("YOUR_CONNECTION_STRING")) { using (SqlCommand cmd = new SqlCommand("YOUR_QUERY", con)) { con.Open(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>(); Dictionary<string, object> row; foreach (DataRow dr in dt.Rows) { row = new Dictionary<string, object>(); foreach (DataColumn col in dt.Columns) { row.Add(col.ColumnName, dr[col]); } rows.Add(row); } return serializer.Serialize(rows); } } }</code>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Jadual Data C# kepada Format JSON Tersuai dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!