Install-Package LitJson。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):泛型方法,自動處理巢狀物件、陣列/列表對應。sid → C# sid/Sid)。DataContract/DataMember 屬性精確控制。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。