如何在j#dot中将json字符串反序列化为对象列表

我正在使用以下JSON字符串

{ "transactions": [ { "paymentcharge":"0.0", "amount":352, "id":13418, "shippingcharge":35, "shippingtype":2, "status":2, "paymenttype":1, "date":"2012-10-06 16:15:28.0" }, { "paymentcharge":"0.0", "amount":42455, "id":16305, "shippingcharge":0, "shippingtype":2, "status":2, "paymenttype":2, "date":"2012-11-30 09:29:29.0" }, { "paymentcharge":"1.0", "amount":42456, "id":16305, "shippingcharge":0, "shippingtype":2, "status":2, "paymenttype":2, "date":"2012-11-30 09:29:29.0" } ], "count":3 } 

我有一个类结构如下解析和感受json数据

 class clsSalesTran { public double paymentcharge { get; set; } public double amount { get; set; } public long id { get; set; } public int shippingcharge { get; set; } public int shippingtype { get; set; } public int status { get; set; } public int paymenttype { get; set; } public DateTime date { get; set; } } 

如何将上面的JSON字符串反序列化为List?

我正在使用Newtonsoft.Json进行反序列化。

首先创建另一个类:

 public class SalesTransactions { public List transactions {get;set;} public int count{get;set;} } 

然后使用,

 JsonConvert.DeserializeObject(inputString) 

创建一个类,如下所示
通过创建类’clsSalesTran’列表和’Count’变量

注意:JsonProperty是Json String的必需项

 public class SalesTransactions { [JsonProperty("transactions")] public List transactions {get;set;} public int count{get;set;} } 

然后您可以使用下面的这个类来反序列化

 SalesTransactions st = JsonConvert.DeserializeObject(inputString) 

使用反序列化对象,如下所示

 double paymentcharge = st.transactions[0].paymentcharge; 
 class WeapsCollection { public Dictionary Weapons { get; set; } } class WeaponList { public WeaponDetails AEK { get; set; } public WeaponDetails XM8 { get; set; } } class WeaponDetails { public string Name { get; set; } public int Kills { get; set; } public int Shots_Fired { get; set; } public int Shots_Hit { get; set; } } class Program { static void Main(string[] args) { string json = @" { 'weapons': { 'aek': { 'name':'AEK-971 Vintovka', 'kills':47, 'shots_fired':5406, 'shots_hit':858 }, 'xm8': { 'name':'XM8 Prototype', 'kills':133, 'shots_fired':10170, 'shots_hit':1790 }, } }"; WeapsCollection weps = JsonConvert.DeserializeObject(json); Console.WriteLine(weps.Weapons.First().Value.Shots_Fired); Console.ReadLine(); } } 

如有任何问题,请回复。