-1
私はこのJSONオブジェクトを用意しています。このオブジェクトは、適切なクラスを使用して変数にC#でデシリアライズしました。スタックされたオブジェクトからJSONデータC#を取得する方法
{"cmd": "test","cache": [{"cmd": "test","gw": [{"id": "123456"}],"data": "some_data"}]}
「キャッシュ」の内側にある「gw」オブジェクトの内部にある「id」の値を取得するにはどうすればよいですか。
ベローは、逆シリアル化のための私のクラスです。
public class Gw
{
public string id { get; set; }
}
public class Cache
{
public string cmd { get; set; }
public List<Gw> gw { get; set; }
public string data { get; set; }
}
public class RootObject
{
public string cmd { get; set; }
public List<Cache> cache { get; set; }
}
EDIT
object model = JsonConvert.DeserializeObject<RootObject>(json);
私がしようとした場合: 'オブジェクトは、' ' 'キャッシュ' となし拡張メソッドの定義が含まれていません:
string myID = model.cache[0].gw[0].id;
string myID2 = model.cache.First().gw.First().id;
私はこのメッセージが表示されますキャッシュ '型'オブジェクト 'の最初の引数を受け入れることができます(使用しているディレクティブまたはアセンブリ参照がありますか?)
チャームのように働いた! – Rapsoulis
キャッシュに複数の配列がある場合、どのように数えることができますか? – Rapsoulis
標準リストと同じように使用できます。したがって、すべてのフィールドとメソッド(たとえば、_model.cache.Count_または_model.cache.gw.Count_フィールド)にアクセスできます。ループ内でループを実行したい場合があります。foreach(model.cacheのvarアイテム){foreach(item.gwのvar itemGW){Console.WriteLine(itemGW.id); }} –