【发布时间】:2018-08-16 09:25:18
【问题描述】:
我使用 RestSharp 从某个页面获取 json。回复是这样的:
{
"cars": [
{
"name": "car1",
"size": 10,
"color": "black"
},
{
"name": "car2",
"size": 20,
"color": "white"
}
]
}
我有一辆车的课程:
public class Car
{
public string Name { get; set; }
public int Size { get; set; }
public string Color { get; set; }
}
如何将此响应映射到汽车列表?
如果 json 中没有"cars":[,这很容易,但现在我需要这样做:
private class Cars
{
public List<Car> Cars { get; set; }
}
...
IRestResponse<Cars> response = client.Execute<Cars>(request);
...
...response.Data.Cars...
但我觉得 Cars 类没用,我想做这样的事情:
IRestResponse<List<Car>> response = client.Execute<List<Car>>(request);
...
...response.Data...
编辑:
这是用于创建请求的:
RestClient client = new RestClient(http...));
RestRequest request = new RestRequest();
【问题讨论】:
-
向我们展示您反序列化的代码
-
就是这样。 Execute
() 对其进行反序列化并将其映射到 类。 -
我觉得this是你想要的
-
@FilipCordas 覆盖或下一个库可以提供帮助,但它比创建我现在拥有的 Cars 类更困难,因此对于这种情况也是无用的。
-
@Prasadtelkikar 如果我把 json 放到 [],会不会是 cars[]car[]?我只需要汽车[]。而且我不想使用一些外部解串器,因为这比拥有我的 Cars 课程更困难。
标签: c# .net json rest restsharp