私はC#MVC 5カミソリでテーブルにデータを表示しています。私が使用している(変更することはできません)データをJSONで次のようになります。このテーブルに解決C#あるタイプから別のタイプへリストを変換
[
{
"Status": "New",
"Denver": 2,
"Seattle": 0,
"New York": 3,
"El Paso": 0
},
{
"Status": "In Progress",
"Denver": 1,
"Seattle": 2,
"New York": 5,
"El Paso": 1
},
{
"Status": "Closed",
"Denver": 12,
"Seattle": 2,
"New York": 1,
"El Paso": 3
}
]
:
+-------------+--------+---------+----------+---------+
| Status | Denver | Seattle | New York | El Paso |
+-------------+--------+---------+----------+---------+
| New | 2 | 0 | 3 | 0 |
| In Progress | 1 | 2 | 5 | 1 |
| Closed | 12 | 2 | 1 | 3 |
+-------------+--------+---------+----------+---------+
私はオブジェクトのリストには、このJSONをデシリアライズしていますが、フォーマットを変更することはできません。私はビューのようにテーブルをこのようにしたい:
+----------+-----+-------------+--------+
| | New | In Progress | Closed |
+----------+-----+-------------+--------+
| Denver | 2 | 1 | 12 |
| Seattle | 0 | 2 | 2 |
| New York | 3 | 5 | 1 |
| El Paso | 0 | 1 | 3 |
+----------+-----+-------------+--------+
私は複数のループとlinqを選択しようとしましたが、それを得ることができませんでした。 は、ここで私が持っているものです:
public class Response {
public string Status { get; set; }
public int Denver { get; set; }
public int Seattle { get; set; }
public int NewYork { get; set; }
public int ElPaso { get; set; }
}
public class ViewModel {
public string Name { get; set; }
public int New { get; set; }
public int InProgress { get; set; }
public int Closed { get; set; }
}
List<Response> response = service.GetData();
if (response != null) {
List<ViewModel> viewModels = response.Select(???);
}
return viewModels;
誰かがこのselect文を正しい方向に私をポイントしてください。ありがとうございました!あなたはいつもあなたが行うことができ、都市の同じセットを持つことになりますと仮定
は、固定された都市のセットですか?それとも変えることができますか? – Pedro
都市名は2〜3つの都市名を追加したり削除したりすることがありますが、それは1年に1回しか起こりませんので、修正する予定はあります。 – chiiefs