I had this JSON string from server previously
"[
{
\"name":\"XYZ",
\"age\":\"75\",
\"height\":\"170.1\",
\"weight\":\"69.6\",
\"dob\":\"2000-10-07T07:23:26.876Z\"
},
{
\"name":\"ABC",
\"age\":\"15\",
\"height\":\"160.1\",
\"weight\":\"55.6\",
\"dob\":\"1990-10-07T07:23:26.876Z\"
},
]"
for which I used a class like this
public class Person
{
[JsonProperty("name")]
public string Name {get; set;}
[JsonProperty("age")]
public decimal Age {get; set;}
[JsonProperty("height")]
public decimal Height {get; set;}
[JsonProperty("weight")]
public decimal Weight {get; set;}
[JsonProperty("dob")]
public DateTime DOB {get; set;}
}
and I've deserialized it using
JsonConvert.DeserializeObject<Person[]>(jsonString)
But now the server changed the JSON to be like this
"{
\"XYZ":
{
\"age\":\"75\",
\"height\":\"170.1\",
\"weight\":\"69.6\",
\"DOB\":\"2000-10-07T07:23:26.876Z\"
},
\"ABC":
{
\"age\":\"15\",
\"height\":\"160.1\",
\"weight\":\"55.6\",
\"DOB\":\"1990-10-07T07:23:26.876Z\"
}
}"
The name property was removed and instead it became the root element. I tried changing the class to be like this but it's not working. How do I deserialize it?
public class PersonResult
{
public Person [] Persons {get; set;}
}