如何从相当复杂的Json响应中在C#Asp.Net中创build一个Dto

我已经调用了一个Api,并使用RestSharp收到了这个响应。 我无法控制Json响应的结构。

{ "response": { "result": { "Leads": { "row": [ { "no": "1", "FL": [ { "val": "LEADID", "content": "101" }, { "val": "Company", "content": "Test 1" } ] }, { "no": "2", "FL": [ { "val": "LEADID", "content": "102" }, { "val": "Company", "content": "Test 2" } ] } ] } }, "uri": "/crm/private/json/Leads/getRecords" } } 

我想从Json中理想地提取一个潜在顾客名单作为Dto,而不用做可怕的parsing等等。

所以例如我会创build一个Dto类:

 public class LeadDto { public string LeadId; public string Company; } 

这些线索可以包含在一个列表或东西。

我一直在阅读https://github.com/restsharp/RestSharp/wiki/Deserialization的年龄,但没有得到任何地方。

任何人都可以用正确的方向指向我吗?

复制JSON,然后在Visual Studio中,在菜单栏中转到: 编辑>select性粘贴>粘贴JSON作为类

在这里输入图像描述

它会为您的JSON生成以下内容:

 public class Rootobject { public Response response { get; set; } } public class Response { public Result result { get; set; } public string uri { get; set; } } public class Result { public Leads Leads { get; set; } } public class Leads { public Row[] row { get; set; } } public class Row { public string no { get; set; } public FL[] FL { get; set; } } public class FL { public string val { get; set; } public string content { get; set; } } 

您也可以通过select将XML粘贴为类选项来对XML进行相同的操作。