如何从堆叠对象中获取JSON数据C#

如何从堆叠对象中获取JSON数据C#,c#,json,C#,Json,我有一个JSON对象,我已经用C#反序列化为一个使用适当类的变量 {"cmd": "test","cache": [{"cmd": "test","gw": [{"id": "123456"}],"data": "some_data"}]} 如何获取“gw”对象中的“id”值,该对象位于“cache”中 下面是我的反序列化类 public class Gw { public string id { get; set; } } public class Cache { publ

我有一个JSON对象,我已经用C#反序列化为一个使用适当类的变量

{"cmd": "test","cache": [{"cmd": "test","gw": [{"id": "123456"}],"data": "some_data"}]}
如何获取“gw”对象中的“id”值,该对象位于“cache”中

下面是我的反序列化类

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; }
}
我收到此消息:“object”不包含“cache”的定义,并且找不到接受“object”类型的第一个参数的扩展方法“cache”(是否缺少using指令或程序集引用?

RootObject model=JsonConvert.DeserializeObject(text);
字符串myID=model.cache[0].gw[0].id;

工作起来很有魅力!如果缓存中有多个数组,如何计算它们?您可以像使用任何标准列表一样使用它们,这样您就可以访问所有字段和方法,例如model.cache.count或model.cache.gw.count字段。您可能希望在循环中执行循环-foreach(model.cache中的var item){foreach(item.gw中的var itemGW){Console.WriteLine(itemGW.id);}
object model = JsonConvert.DeserializeObject<RootObject>(json);
string myID = model.cache[0].gw[0].id;
string myID2 = model.cache.First().gw.First().id;
RootObject model = JsonConvert.DeserializeObject<RootObject>(text);
string myID = model.cache[0].gw[0].id;