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

时间:2019-03-28 13:39:38

标签: c# json serialization

我对nuget api进行了一次GET获取有关软件包的某些数据(在我的情况下为stylecop)。通话有效,因此我成功获取了json。但是json具有复杂的结构,我需要读出所有项目。

这是我所做的api调用,它可以正常工作。这应该向您显示json im试图从中获取数据: https://api.nuget.org/v3/registration3/stylecop.analyzers/index.json

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

json screenshot https://imgur.com/a/kNGytom

LauncherApps.EXTRA_PIN_ITEM_REQUEST

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

1 个答案:

答案 0 :(得分:0)

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

然后您可以使用以下方法将其反序列化为C#对象:

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

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