C# DataTable을 JSON으로 변환: 원하는 형식 얻기
이 가이드에서는 기본 JSON 개체 형식을 피하면서 C# DataTable을 특정 구조의 JSON 문자열로 변환하는 방법을 보여줍니다. 대상 형식은 개별 레코드 개체의 "레코드" 배열을 포함하는 JSON 개체입니다.
단계:
DataTable 채우기: 먼저 DataTable을 만들고 데이터베이스(또는 기타 소스)의 데이터로 채우세요.
JavaScriptSerializer 사용: JavaScriptSerializer
클래스를 활용하여 JSON 직렬화를 처리합니다.
사전 목록 만들기: DataTable의 각 행을 사전으로 저장하는 목록을 구성합니다.
사전 반복 및 채우기: DataTable의 각 DataRow
을 반복합니다. 각 행에 대해:
DataColumn
을 반복합니다.col.ColumnName
)을 키로 추가하고 해당 열 값(dr[col]
)을 값으로 사전에 추가합니다.목록 직렬화: 마지막으로 JavaScriptSerializer
를 사용하여 사전 목록을 직렬화하고 이를 "records" 속성이 있는 JSON 개체로 래핑합니다.
코드 예:
<code class="language-csharp">using System.Web.Script.Serialization; using System.Data; using System.Collections.Generic; public string ConvertDataTableToJson() { DataTable dataTable = new DataTable(); // Fill dataTable with data from your database JavaScriptSerializer serializer = new JavaScriptSerializer(); List<Dictionary<string, object>> records = new List<Dictionary<string, object>>(); foreach (DataRow row in dataTable.Rows) { Dictionary<string, object> record = new Dictionary<string, object>(); foreach (DataColumn column in dataTable.Columns) { record.Add(column.ColumnName, row[column]); } records.Add(record); } return serializer.Serialize(new { records = records }); }</code>
이 수정된 코드는 DataTable을 지정된 JSON 형식으로 변환하는 명확하고 효율적인 방법을 제공하여 각 레코드가 "레코드" 배열 내에 올바르게 표시되도록 합니다. 필요한 using
문을 추가하는 것을 잊지 마세요.
위 내용은 C#에서 '레코드' 배열을 사용하여 DataTable을 JSON 문자열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!