首頁 > 後端開發 > C++ > 如何使用 JSON.NET 在 C# 中序列化和反序列化行分隔 JSON (LDJSON)?

如何使用 JSON.NET 在 C# 中序列化和反序列化行分隔 JSON (LDJSON)?

Barbara Streisand
發布: 2025-01-22 16:42:15
原創
238 人瀏覽過

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

C#中使用JSON.NET處理行分隔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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板