次のオブジェクトを受け取るC#Web APIがあります:
"cars": {
"bmw": true,
"benz": false,
"kia": true,
"hyundai": false,
"madza": false,
"ford": false
}
クラスプロパティは次のとおりです。
public CarsViewModel cars{ get; set; }
上記のオブジェクトで真であるすべての値を取得するにはどうすればよいですか?
受信したオブジェクトをディクショナリに解析し、値がtrueの場合にのみキーを選択できます。
string json = "{\"bmw\": true,\"benz\": false,\"kia\": true,\"hyundai\": false,\"madza\": false,\"ford\": false}";
var dict = JsonConvert.DeserializeObject<Dictionary<string,bool>>(json);
List<string> cars = dict.Where(x=>x.Value).Select(y=>y.Key).ToList();
結果は次の方法で確認できます。
cars.ForEach(y => Console.Write("{0}\n", y));
PS。シリアル化するには、Newtonsoft.Json
名前空間を使用する必要があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加