如何通过相当复杂的Json Response在C#Asp.Net中创建Dto [英] How do I create a Dto in C# Asp.Net from a fairly complex Json Response

查看:199
本文介绍了如何通过相当复杂的Json Response在C#Asp.Net中创建Dto的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经呼叫了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆