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中文網其他相關文章!