首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

LitJson 快速將 JSON 字串反序列化為強型別物件清單

     編輯:ASP.NET 基礎

套件準備

  1. 下載 LitJson 或透過 NuGet 安裝:Install-Package LitJson。
  2. 專案加入 LitJson.dll 參考。

對應實體類別定義

public class JsonData
{
    public string result { get; set; }
    public List<GameData> info { get; set; }
}

public class GameData
{
    public int ID { get; set; }
    public string dept { get; set; }
    public string sid { get; set; }
    public string oldsid { get; set; }
    public string userid { get; set; }
    public string roleid { get; set; }
    public string rolename { get; set; }
    public string rolelevel { get; set; }
    public string gold { get; set; }
    public string money { get; set; }
    public string inittime { get; set; }
    public string lastlogin { get; set; }
    public string querytime { get; set; }
}

反序列化程式碼

string json_str = @"{""result"":""1"",""info"":[
    {""sid"":""2"",""rolename"":""蒲翠柏"",""roleid"":""900001"",""lastlogin"":""2014-01-08 10:54:52"",""inittime"":""2013-11-15 12:01:05.0"",""money"":""867"",""rolelevel"":""55"",""userid"":""athena"",""oldsid"":""1"",""gold"":""9992837"",""dept"":""67"",""querytime"":""2014-01-08 11:56:38""},
    {""sid"":""2"",""rolename"":""噗"",""roleid"":""5700001"",""lastlogin"":""2013-11-16 18:38:54"",""inittime"":""2013-11-16 18:25:45.0"",""money"":""0"",""rolelevel"":""27"",""userid"":""athena"",""oldsid"":""1"",""gold"":""0"",""dept"":""67"",""querytime"":""2014-01-08 11:56:38""}
]}";

// 一行轉換:自動對應巢狀 List
JsonData jsonData = LitJson.JsonMapper.ToObject<JsonData>(json_str);

List<GameData> list = jsonData.info;
foreach (var item in list)
{
    // 業務邏輯處理
    Console.WriteLine(item.rolename + " - " + item.rolelevel);
}

關鍵特性

  • JsonMapper.ToObject<T>(json):泛型方法,自動處理巢狀物件、陣列/列表對應。
  • 屬性名稱**大小寫不敏感** 會自動匹配(JSON sid → C# sid/Sid)。
  • 支援 DataContract/DataMember 屬性精確控制。

序列化物件為 JSON

string json = LitJson.JsonMapper.ToJson(jsonData);
// 可直接寫入 Response、存檔或傳輸

優缺點與替代建議

優點缺點
輕量、零依賴、API 簡潔效能較 Newtonsoft.Json / System.Text.Json 稍遜
支援 Unity、舊版 .NET Framework維護頻率較低,新特性支援有限

.NET Framework 4.7.2+ / .NET Core 專案建議優先使用 System.Text.Json(內建、高效能、支援異步流);需豐富功能(如自訂 Converter、動態物件)則選 Newtonsoft.Json。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved