JSON 字串到 C# 物件轉換問題及解決方案
在嘗試將 JSON 字串解析為 C# 物件時,開發人員遇到了一個問題:產生的 objects 始終未定義。相關的程式碼片段如下:
<code class="language-csharp">JavaScriptSerializer json_serializer = new JavaScriptSerializer(); object routes_list = json_serializer.DeserializeObject("{ \"test\":\"some data\" }");</code>
解:使用 Newtonsoft.Json 進行物件反序列化
解決此問題的關鍵在於使用 Newtonsoft.Json 函式庫。與內建的 JavaScriptSerializer 相比,此程式庫提供了更強大可靠的 JSON 解析方法。以下程式碼示範如何使用 Newtonsoft.Json:
<code class="language-csharp">using Newtonsoft.Json; ... var result = JsonConvert.DeserializeObject<T>(json);</code>
<code>其中 T 是 <br></br>与您的 JSON 字符串匹配的 <您的对象类型></code>
在此修改後的程式碼中,JsonConvert.DeserializeObject 用於將JSON 字串轉換為指定類型T 的C# 對象,從而解決了routes_list 物件未定義的問題,並確保成功將JSON 字串轉換為所需的對象。
以上是如何解決 JSON 字串到 C# 物件轉換問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!