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