I have a JSON string that looks like this:
{
"package1": {
"type": "envelope",
"quantity": 1,
"length": 6,
"width": 1,
"height": 4
},
"package2": {
"type": "box",
"quantity": 2,
"length": 9,
"width": 9,
"height": 9
}
}
I'm using the Json.NET LINQ to JSON functionality to handle my JSON string, but I'm wondering how I can find the total number of nodes/elements/keys (I'm not really sure what to call them) in my string. For example, the above string has package1 and package2 so I'm wondering how I can get it to return the integer 2. Sometimes I might only have one package, in which case, I'd like it to return the integer 1. Other times I might have 20 packages (in that case I'd like it to return 20).
My JObject looks like this:
JObject o = JObject.Parse(myJsonString);
Any ideas? Thanks for any help.
JObject jObj = (JObject)JsonConvert.DeserializeObject(myJsonString);
int count = jObj.Count;
BONUS:
dynamic jObj = JsonConvert.DeserializeObject(myJsonString);
foreach (var package in jObj)
{
Console.WriteLine("{0} {1}", package.First.type, package.First.quantity);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With