使用C#中的Json.NET计算JSON字符串中的元素数

Bre*_*ata 10 c# json json.net

我有一个JSON字符串,如下所示:

{
"package1": {
    "type": "envelope",
    "quantity": 1,
    "length": 6,
    "width": 1,
    "height": 4
},
"package2": {
    "type": "box",
    "quantity": 2,
    "length": 9,
    "width": 9,
    "height": 9
}
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Json.NET LINQ to JSON功能来处理我的JSON字符串,但我想知道我怎么能找到节点/元素/键的总数(我真的不确定它叫什么)在我的串.例如,上面的字符串有package1和package2所以我想知道如何让它返回整数2.有时我可能只有一个包,在这种情况下,我希望它返回整数1.其他我可能有20个包(在这种情况下,我希望它能返回20个).

我的JObject看起来像这样:

JObject o = JObject.Parse(myJsonString);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢你的帮助.

L.B*_*L.B 21

JObject jObj = (JObject)JsonConvert.DeserializeObject(myJsonString);
int count = jObj.Count;
Run Code Online (Sandbox Code Playgroud)

奖金:

dynamic jObj = JsonConvert.DeserializeObject(myJsonString);

foreach (var package in jObj)
{
    Console.WriteLine("{0} {1}", package.First.type, package.First.quantity);
}
Run Code Online (Sandbox Code Playgroud)