c# - JSON.NET Case Insensitive Deserialization not working -
i need deserialize json object casing of json unknown/inconsistent. json.net supposed case insensitive not working me.
my class definition:
public class myrootnode { public string action {get;set;} public mydata data {get;set;} } public class mydata { public string name {get;set;} } the json receive has action & data in lowercase , has correct casing myrootnode.
i'm using deserialize:
myrootnode responseobject = jsonconvert.deserializeobject<myrootnode>(jsonstring); it returns initialised myrootnode action , data properties null.
any ideas?
edit: added json
{ "myrootnode":{ "action":"pact", "mydata":{ "name":"jimmy" } } }
you need add additional class:
public class myrootnodewrapper { public myrootnode myrootnode {get;set;} } and use:
myrootnodewrapperresponseobject = jsonconvert.deserializeobject<myrootnodewrapper>(jsonstring); https://stackoverflow.com/a/45384366/34092 may worth read. same scenario.
also, change:
public mydata data {get;set;} to:
public mydata mydata {get;set;} as per advice @demo , @guy .
Comments
Post a Comment