ホームページ >バックエンド開発 >C++ >JSON.NET を使用して C# で行区切り JSON (LDJSON) をシリアル化および逆シリアル化する方法

JSON.NET を使用して C# で行区切り JSON (LDJSON) をシリアル化および逆シリアル化する方法

Barbara Streisand
Barbara Streisandオリジナル
2025-01-22 16:42:15242ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。