C#如何在不知道长度的情况下读取某些属性

C#如何在不知道长度的情况下读取某些属性,c#,json,serialization,C#,Json,Serialization,我访问了NuGetAPI以获取关于包的特定数据(在我的示例中是stylecop)。调用正常,因此我成功地获得了一个json。然而,json是一个复杂的结构,我需要读出所有项目 这是我做的api调用,它工作正常。这将向您显示我试图从以下位置获取数据的json: 红色区域包含我要从中读取的项对象。它总共有43个项目。这些项中的每一项都具有commitId属性。我想从每个项目中读取所有43个commitId属性,以将它们存储在列表中 这是我尝试过的,但我不知道如何访问第二层的条目我看到JSON应

我访问了NuGetAPI以获取关于包的特定数据(在我的示例中是stylecop)。调用正常,因此我成功地获得了一个json。然而,json是一个复杂的结构,我需要读出所有项目

这是我做的api调用,它工作正常。这将向您显示我试图从以下位置获取数据的json:

红色区域包含我要从中读取的项对象。它总共有43个项目。这些项中的每一项都具有commitId属性。我想从每个项目中读取所有43个commitId属性,以将它们存储在列表中


这是我尝试过的,但我不知道如何访问第二层的条目

我看到JSON应该很容易创建C类,您可以反序列化到这些类中。您可以使用jsonutils.com之类的工具从示例JSON字符串生成C#模型,并可能对其进行调整,使其更像您的JSON结构

然后可以使用以下命令将其反序列化为C#对象:

var yourObject = JsonConvert.DeserializeObject<YourJsonModel>(jsonString);
var yourObject=JsonConvert.DeserializeObject(jsonString);

并通过C#对象中的对象数组/列表访问您想要的任何级别。

您好,请提供一个代码示例,演示您尝试添加的内容。我已经忘记了,请不要使用
jsonvert.DeserializeObject
,这是在使用已知模型时(除了不使用
动态
)最好使用的方法。使用
JObject.Parse()
进行探索。如果您将json复制到剪贴板,然后在visual studio中单击编辑>粘贴特殊>将json粘贴为类,您将获得一个模型,该模型也可以反序列化,比使用动态IMO更好、更安全。请查看编辑>粘贴特殊>将json粘贴为类,如Daniel所述
var yourObject = JsonConvert.DeserializeObject<YourJsonModel>(jsonString);