利用Newtonsoft.Json在C#中反序列化JSON資料
Newtonsoft.Json函式庫提供高效率的JSON資料反序列化功能。 JsonConvert.DeserializeObject
方法可讓您將JSON資料轉換為C#對象,實現靈活的資料處理。
程式碼範例:
<code class="language-csharp">// 将JSON数据反序列化为字符串列表 List<string> list = JsonConvert.DeserializeObject<List<string>>(reader.Read().ToString()); // 将JSON数据反序列化为自定义Album对象 var album = JsonConvert.DeserializeObject<Album>(jObject["albums"][0].ToString());</code>
LINQ to JSON替代方案
Newtonsoft.Json也提供LINQ to JSON功能,允許以程式設計方式遍歷和查詢JSON資料。無需手動解析,即可輕鬆擷取特定值或操作資料。
程式碼範例:
<code class="language-csharp">// 将JSON数据解析为JObject JObject jObject = JObject.Parse(reader.ReadLine()); // 使用LINQ选择特定数据 var coverImageUrl = (string)jObject["albums"][0]["cover_image_url"];</code>
使用動態型別
為了簡化反序列化過程,您可以使用動態類型。這樣可以動態存取屬性,無需強型別類別。
程式碼範例:
<code class="language-csharp">// 将JSON数据反序列化为动态对象 dynamic results = JsonConvert.DeserializeObject<dynamic>(json); // 动态访问属性 var id = results.Id; var name = results.Name;</code>
其他注意事項:
using
語句進行高效率的資源管理。 以上是如何使用 Newtonsoft.Json 在 C# 中反序列化 JSON 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!