2017-03-10 58 views
0

我已經調用Api並使用RestSharp接收到此響應。我無法控制Json響應的結構。如何在相當複雜的Json響應中在C#Asp.Net中創建Dto

{ 
    "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" 
    } 
} 

我想提取信息的DTO的距離了JSON列表最理想的情況做了可怕的解析等

因此,例如,我會創建一個DTO類:

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

這些線索可以包含在列表中或其他內容中。

我一直在閱讀https://github.com/restsharp/RestSharp/wiki/Deserialization多年,但沒有得到任何地方。

任何人都可以用正確的方向指向我嗎?

+4

您可以複製JSON,轉到Visual Studio並執行選擇性粘貼。選擇粘貼爲JSON。它會爲你創建C#類。 – kat1330

回答

9

複製JSON,然後在Visual Studio中,在菜單欄中轉到:編輯>粘貼>粘貼JSON作爲類

enter image description here

同時會產生對你的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一樣。

+0

感謝您的幫助。再清楚不過了! – ozzy432836

相關問題