I am struggling on trying to deserialize a JSON string:
{
"status": "success",
"result": {
"campaigns": {
"1000" : {
"campaignId": "1000",
"campaignTitle": "ABC"
},
"2000" : {
"campaignId": "2000",
"campaignTitle": "ABCD"
}
}
}
Since the "campaigns" aren't in an array [], how do I handle grabbing each individual campaign details?
json2csharp.com simply has me put the campaignID's as seperate classes, but that doesn't appear optimal.
you have a choice - a dictionary or an Array
using Newtonsoft.Json;
Dictionary<string, Campaign> dict = JObject.Parse(json)["result"]["campaigns"]
.ToObject<Dictionary<string, Campaign>>();
Campaign[] arr = ((JObject)JObject.Parse(json)["result"]["campaigns"]).Properties()
.Select(x => x.Value.ToObject<Campaign>())
.ToArray();
public class Campaign
{
public string campaignId { get; set; }
public string campaignTitle { get; set; }
}