¿Cómo creo un Dto en C # Asp.Net a partir de una respuesta Json bastante compleja?

He llamado a un Api y recibí esta respuesta usando RestSharp. No tengo control sobre la estructura de la respuesta 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" } } 

Me gustaría extraer una lista de clientes potenciales como Dto’s de la Json idealmente sin hacer el análisis horrible, etc.

Entonces, por ejemplo, crearía una clase Dto:

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

y estos leads podrían estar contenidos en una lista o algo así.

He estado leyendo https://github.com/restsharp/RestSharp/wiki/Deserialization por años pero no llego a ningún lado.

¿Alguien puede señalarme en la dirección correcta con ejemplos?

Copie el JSON y luego en Visual Studio, en la barra de menús vaya a: Edición> Pegar especial> Pegar JSON como clases :

enter image description here

Y producirá lo siguiente para su 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; } } 

También puede hacer lo mismo con XML eligiendo la opción Pegar XML como clases .