c# - Deserialize nested json string -


my json data this

"{\"total_entries\":2,\"current_page\":1,\"total_pages\":1,\"per_page\":2,\"items\":[{\"workspace\":{\"background_color\":\"#ffedd3\",\"data_room\":false,\"default_sort\":\"alphabetical\",\"default_view\":\"list\",\"id\":330201,\"name\":\"myworkspacenew\",\"updated_at\":\"2013-05-08t05:54:25-07:00\",\"root_folder_id\":166325721,\"owner_id\":991101,\"is_owner\":true,\"effective_role\":\"administrator\",\"audit_trail\":true,\"require_agreement\":false,\"agreement_accepted\":false}},{\"workspace\":{\"background_color\":\"white\",\"data_room\":false,\"default_sort\":\"alphabetical\",\"default_view\":\"list\",\"id\":343316,\"name\":\"qqq\",\"updated_at\":\"2013-05-12t22:34:08-07:00\",\"root_folder_id\":179855446,\"owner_id\":991101,\"is_owner\":true,\"effective_role\":\"administrator\",\"audit_trail\":true,\"require_agreement\":false,\"agreement_accepted\":false}}]}" 

i want deserilize json data c# code like

workspacename data = new system.web.script.serialization.javascriptserializer().deserialize<workspacename>(responsetext); 

i want deserialize data getting total_entries,items count,per_page inside workspace getting every thing null

 public class workspacename {     public int total_entries { get; set; }//getting value     public int current_page { get; set; }//getting value     public int total_pages { get; set; }//getting value     public int per_page { get; set; }//getting value     public list<items> items { get; set; }// items count 2 value null.  }  public class items {    // public list<workspace> workspace { get; set; }     public string background_color { get; set; }     public bool data_room { get; set; }     public string default_sort { get; set; }     public string default_view { get; set; }     public int id { get; set; }     public string name { get; set; }     public datetime updated_at { get; set; }     public int root_folder_id { get; set; }     public int owner_id { get; set; }     public bool is_owner { get; set; }     public string effective_role { get; set; }     public bool audit_trail { get; set; }     public bool require_agreement { get; set; }     public bool agreement_accepted { get; set; } } 

use datacontractjsonserializer instead :

you should define data classes attributes :

[datacontract] public class workspacename {     [datamember]     public int total_entries { get; set; }//getting value     [datamember]     public int current_page { get; set; }//getting value ... 

and

[datacontract] public class items {     [datamember]     public string background_color { get; set; }     [datamember]     public bool data_room { get; set; } ... 

then deserilize json object should :

var serializer = new datacontractjsonserializer(typeof(workspacename)); using (var stream = new memorystream()) {  var asbytes = encoding.utf8.getbytes(jsonobjectstring);  stream.write(asbytes, 0, asbytes.length);  stream.flush();  stream.seek(0, seekorigin.begin);  var yourdeserializedworkspacename= (workspacename)serializer.readobject(stream); } 

Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

Pull out data related to my apps from Android Play Store and iOS App Store -

How can I fetch data from a web server in an android application? -