>백엔드 개발 >C++ >JSON.NET을 사용하여 C#에서 줄로 구분된 JSON(LDJSON)을 직렬화 및 역직렬화하는 방법은 무엇입니까?

JSON.NET을 사용하여 C#에서 줄로 구분된 JSON(LDJSON)을 직렬화 및 역직렬화하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-22 16:42:15216검색

How to Serialize and Deserialize Line-Delimited JSON (LDJSON) in C# using JSON.NET?

JSON.NET을 사용하여 C#에서 줄로 구분된 JSON(LDJSON) 처리

Google BigQuery와 같은 일부 애플리케이션에서는 줄로 구분된 JSON(LDJSON) 형식이 필요합니다. 이 형식은 각 JSON 개체를 개행 문자로 구분하므로 효율적인 데이터 가져오기가 가능합니다.

LDJSON 직렬화 및 역직렬화 방법

인기 있는 C# JSON 라이브러리 JSON.NET은 LDJSON 문제에 대한 솔루션을 제공합니다. JsonTextReader를 사용하고 SupportMultipleContent 플래그를 true로 설정하여 LDJSON 데이터를 수동으로 구문 분석할 수 있습니다.

직렬화 예시

객체 목록의 경우 각 객체를 개별적으로 직렬화하고 이를 단일 LDJSON 문자열로 연결할 수 있습니다.

역직렬화 예시

LDJSON 데이터를 역직렬화하려면 JsonTextReader를 사용하여 판독기를 만들고 이러한 개체를 반복하여 각 개체를 해당 개체 유형으로 역직렬화합니다.

코드 예(의사 코드, 실제 객체 유형에 따라 조정 필요):

<code class="language-csharp">while (jsonReader.Read())
{
  Foo foo = jsonSerializer.Deserialize<Foo>(jsonReader);
  jsonList.Add(foo); 
}</code>

원하는 결과가 개체 목록인 경우 역직렬화된 각 개체를 루프의 목록에 추가할 수 있습니다.

쉼표로 구분된 JSON 지원

Json.Net 10.0.4 이상에서는 제공된 코드가 쉼표로 구분된 JSON 항목도 지원합니다. 이렇게 하면 JSON 데이터 형식을 더욱 유연하게 사용할 수 있습니다.

요약

이 방법은 C#에서 JSON.NET을 사용하여 LDJSON 데이터를 직렬화 및 역직렬화하기 위한 간단한 메커니즘을 제공합니다. SupportMultipleContent 플래그를 설정하면 단일 스트림에서 여러 JSON 개체를 효율적으로 처리할 수 있습니다.

위 내용은 JSON.NET을 사용하여 C#에서 줄로 구분된 JSON(LDJSON)을 직렬화 및 역직렬화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.