【发布时间】:2021-07-13 07:01:30
【问题描述】:
有没有办法只取数据集中的数据而忽略起始数组'result'?
{
"result": [
"",
{
"dataset": [
{
"idSottogruppo": "7",
"Sottogruppo": "Distribuzione Ausiliaria"
}, {
"idSottogruppo": "6",
"Sottogruppo": "Distribuzione Motore"
}, {
"idSottogruppo": "8",
"Sottogruppo": "Filtri"
}, {
"idSottogruppo": "39",
"Sottogruppo": "Motore"
}
]
}
]
}
我就是这样做的,而且它有效,如果可能的话,我只想减少代码,因为所有 API 方法都具有相同的 JSON 格式。
我的代码:
public class OE_GetActiveSubGroupsResultDTO
{
public List<OE_GetSubActiveGroupsListDTO> Result { get; set; }
}
public class OE_GetActiveSubGroupsListDTO
{
public List<OE_GetActiveSubGroupsDTO> Dataset { get; set; }
}
public class OE_GetActiveSubGroupsDTO
{
public string idSottogruppo { get; set; }
public string Sottogruppo { get; set; }
}
public ActionResult ProcessSpareParts(CarViewModel vm)
{
OE_GetActiveItemsResultDTO activeItemsResultDeserialize = JsonConvert.DeserializeObject<OE_GetActiveItemsResultDTO>(GetActiveSubGroups);
foreach(var activeItemsResult in activeItemsResultDeserialize.Result[1].Dataset)
{
OE_GetActiveItemsDTO activeItems = new JavaScriptSerializer().Deserialize<OE_GetActiveItemsDTO>(activeItemsResult .ToString());
...
}
}
【问题讨论】:
-
group.ToString()- 你为什么要这么做?group定义在哪里? -
您使用两个完全不同的 JSON 序列化程序有什么原因吗?
-
您根本不需要任何 DTO 类型,只需使用
JToken图形和 Linq 来提取数据。 -
@Dai 编辑了“群”
标签: c# asp.net-mvc json.net javascriptserializer