How to deserialize json string to list of objects in c # dot

I am working with the following JSON line

{ "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 } 

I have a class structure as shown below for parsing and perceiving json data

 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; } } 

How can I deserialize the above JSON string to List?

I am using Newtonsoft.Json for deserialization.

+10
source share
4 answers

first create another class:

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

Then use

 JsonConvert.DeserializeObject<SalesTransactions>(inputString) 
+16
source

Create a class as shown below. By creating a list of classes 'clsSalesTran' and a variable for 'Count'

Note. JsonProperty is required for your Json string

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

Then you can use this class as below to deserialize

 SalesTransactions st = JsonConvert.DeserializeObject<SalesTransactions>(inputString) 

Use the Deserialized object as below

 double paymentcharge = st.transactions[0].paymentcharge; 
+6
source
 class WeapsCollection { public Dictionary<string, WeaponDetails> 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<WeapsCollection>(json); Console.WriteLine(weps.Weapons.First().Value.Shots_Fired); Console.ReadLine(); } } 

Answer in case of any problems.

0
source

To deserialize a string into a list of objects of type clsSalesTran :

 var myList = JsonConvert.DeserializeObject<List<clsSalesTran>>(inputString); 
0
source

All Articles