【发布时间】:2021-12-03 12:18:39
【问题描述】:
我在下面有一个 JSON 代码:
{
"value": [
{
"name": "504896c031d2fcb9",
"location": "North Europe",
"properties": {
"state": "UNKNOWN",
"name": "504896c031d2fcb9",
"siteInstanceName": "504896c031d2fcb93ec",
"healthCheckUrl": null,
"machineName": "lw0s",
"containers": null
}
},
{
"name": "35aafa",
"location": "North Europe",
"properties": {
"state": "UNKNOWN",
"name": "35aafae",
"siteInstanceName": "35aafaeff",
"healthCheckUrl": null,
"machineName": "lw1s",
"containers": null
}
}
],
"nextLink": null,
"id": null
}
我已将 JSON 转换为如下所述的动态:
string kq = reader.ReadToEnd();
dynamic jss = JsonConvert.DeserializeObject(kq);
我想知道如何计算c#中有多少个值?上面的例子有2个值
谢谢。
【问题讨论】:
-
为什么要反序列化为
dynamic而不是命名类?无论如何,您可以使用jss.value.Length。 -
一个命名类需要时间来写:(
-
如果您可以在几个月后摸不着头脑,因为您不记得自己的数据结构是什么样子,只是因为您懒得花几秒钟时间从中提取一个类给定数据...这是你的程序。
-
同意@HimBromBeere - 在 C# 中开发时,我想不出很多次我不得不使用动态。动态类型有它的位置,但这不是它