C# での改行区切りの JSON データのシリアル化と逆シリアル化
C# では、JSON.NET ライブラリを利用して改行区切りの JSON データを処理できます。この形式の JSON データは、Google BigQuery などのサービスと対話するために不可欠です。
シリアル化と逆シリアル化のプロセス
JsonTextReader
を使用して、改行区切りの JSON データを解析できます。具体的な手順は次のとおりです。
Foo
や Person
など) を作成します。 SupportMultipleContent
に設定された true
フラグを使用して、JsonTextReader
オブジェクトを初期化します。これは、単一ストリームで複数の JSON オブジェクトを処理するために不可欠です。 JsonSerializer
を使用して各 JSON オブジェクトを逆シリアル化します。 逆シリアル化された結果をリストとして保存する必要がある場合は、逆シリアル化された各項目をループ内のリストに追加します。
例 1: 単純な JSON データ
次の JSON データの場合:
<code>{"some":"thing1"} {"some":"thing2"} {"some":"thing3"}</code>
次のコードは逆シリアル化プロセスを示しています:
<code class="language-csharp">var json = "{\"some\":\"thing1\"}\r\n{\"some\":\"thing2\"}\r\n{\"some\":\"thing3\"}"; var jsonReader = new JsonTextReader(new StringReader(json)) { SupportMultipleContent = true }; var jsonSerializer = new JsonSerializer(); var fooList = new List<Foo>(); while (jsonReader.Read()) { fooList.Add(jsonSerializer.Deserialize<Foo>(jsonReader)); }</code>
例 2: 複雑な JSON データ
より複雑な JSON データの場合:
<code>{"kind": "person", "fullName": "John Doe", "age": 22, "gender": "Male", "citiesLived": [{ "place": "Seattle", "numberOfYears": 5}, {"place": "Stockholm", "numberOfYears": 6}]} {"kind": "person", "fullName": "Jane Austen", "age": 24, "gender": "Female", "citiesLived": [{"place": "Los Angeles", "numberOfYears": 2}, {"place": "Tokyo", "numberOfYears": 2}]}</code>
Person
POCO クラスを作成し、例 1 と同じ方法を使用して逆シリアル化します。
このテクノロジーは、Json.Net 10.0.4 以降を使用したカンマ区切りの JSON エントリもサポートしていることに注意することが重要です。
以上がJSON.NETを使用してC#で行区切りのJSONを逆シリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。