> 백엔드 개발 > C++ > C# DataTable을 사용자 지정 JSON 형식으로 효율적으로 변환하려면 어떻게 해야 합니까?

C# DataTable을 사용자 지정 JSON 형식으로 효율적으로 변환하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2025-01-21 16:43:09
원래의
630명이 탐색했습니다.

How Can I Efficiently Convert a C# DataTable to a Custom JSON Format?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿