JSON.NET 提供了處理 JSON 資料的強大工具。 本指南重點在於將串聯的 JSON 物件流解析為 IEnumerable
集合。
核心策略涉及使用 JsonSerializer
並將 CheckAdditionalContent
設為 false
,允許多個物件解析。該流被包裝在 StreamReader
中,為 JSON 資料攝取提供 JsonTextReader
。
要處理連續流,將 SupportMultipleContent
設定為 true
至關重要。 一個常見的陷阱是反序列化後無法正確推進讀者。 解決方案在於精心建構的循環:
<code class="language-csharp">while (jsonReader.Read()) { yield return serializer.Deserialize<TResult>(jsonReader); }</code>
此循環確保讀取每個 JSON 對象並將其反序列化為 TResult
對象,從而有效地產生 IEnumerable
集合中的每個對象。
至關重要的是,請記住 IEnumerable
應該在流保持開啟狀態時進行迭代。 以下範例說明了這一點:
<code class="language-csharp">using (var stream = /* your stream */) { IEnumerable<MyClass> result = ReadJson<MyClass>(stream); foreach (var item in result) { Console.WriteLine(item.MyProperty); } }</code>
有關詳細資訊和更多範例,請參閱以下資源:
以上是如何使用 JSON.NET 將串聯的 JSON 物件流解析為 IEnumerable 集合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!