C# で DataTable を JSON に変換する
この記事では、C# の DataTable オブジェクトを JSON 形式に変換する方法について説明します。この問題は、データベースからレコードを取得して DataTable に変換し、それを JSON オブジェクトに変換して JavaScript 関数に返すことから始まります。ただし、必要な JSON 形式は現在の出力とは異なります。この記事では、目的の JSON 形式を実現するためのソリューションを提供します。
この問題を解決するには、さまざまなシリアル化方法を使用できます。 JsonConvert.SerializeObject
を使用する代わりに、System.Web.Script.Serialization
名前空間で JavaScriptSerializer
を使用することを検討してください。この代替方法により、JSON 出力構造をより詳細に制御できるようになります。
このソリューションを実装する方法の例を次に示します:
<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>
以上がC# DataTable をカスタム JSON 形式に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。