如何通过相当复杂的Json Response在C#Asp.Net中创建Dto [英] How do I create a Dto in C# Asp.Net from a fairly complex Json Response
问题描述
我已经呼叫了Api,并使用RestSharp收到了此回复.我无法控制Json响应的结构.
I have called an Api and received this response using RestSharp. I have no control over the structure of the Json response.
{
"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,而无需进行可怕的分析等.
I would like to extract a List of Leads as Dto's from the Json ideally without doing the horrible parsing etc.
例如,我将创建一个Dto类:
So for example I would create a Dto class:
public class LeadDto {
public string LeadId;
public string Company;
}
这些线索可能包含在列表或其他内容中.
and these Leads could be contained in a list or something.
我一直在阅读> https://github.com/restsharp/RestSharp/wiki/Deserialization 很长一段时间,但没有到达任何地方.
I have been reading https://github.com/restsharp/RestSharp/wiki/Deserialization for ages but not getting anywhere.
有人可以通过示例向我指出正确的方向吗?
Can anyone point me in the right direction with examples?
推荐答案
复制JSON,然后在Visual Studio中的菜单栏中转到:编辑>选择性粘贴>将JSON作为类粘贴:
Copy the JSON and then in Visual Studio, in the menu bar go to: Edit > Paste Special > Paste JSON as Classes:
它将为您的JSON生成以下内容:
And it will produce the following for your 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; }
}
您还可以通过选择将XML粘贴为类选项来对XML进行同样的操作.
You can also do the same with XML by choosing the Paste XML as Classes option.
这篇关于如何通过相当复杂的Json Response在C#Asp.Net中创建Dto的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!