C# JSON.net访问嵌套数组、对象

C# JSON.net访问嵌套数组、对象,c#,json,json.net,C#,Json,Json.net,在这个JSON()中,我如何访问嵌套数组 timeseries.shortname?我试过这样做,但没用 string url = "http://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json?includeTimeseries=true&includeCurrentMeasurement=true"; HttpWebRequest request = HttpWebRequest.CreateHttp(url

在这个JSON()中,我如何访问嵌套数组 timeseries.shortname?我试过这样做,但没用

string url = "http://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json?includeTimeseries=true&includeCurrentMeasurement=true";

HttpWebRequest request = HttpWebRequest.CreateHttp(url);
WebResponse response = await request.GetResponseAsync();

using (Stream stream = response.GetResponseStream())
{
    JsonReader reader = new JsonTextReader(new StreamReader(stream));
    dynamic info = JArray.Load(reader);

    foreach (var item in info)
    {
        myModel.Add(new ItemModel()
        {
            uuid = item.uuid,
            number = item.number,
            city_longname = item.longname,
            timeseries = item.timeseries.shortname
        });
    }
}

这3个项可以工作,但最后一个(timeseries)给出了以下错误:无法对空引用执行运行时绑定动态
属性为您提供
JToken
对象。在这些属性上使用
属性可以得到
字符串
表示。为了使其类型安全,您需要解析/转换。由于您没有提供您的
ItemModel
课程详细信息,因此我无法在此为您提供帮助

myModel.Add(new ItemModel()
{
  uuid = item.uuid.Value,
  number = item.number.Value,
  city_longname = item.longname.Value
});

timeseries
属性是一个
JArray
对象。您无法直接访问
shortname
属性。您必须首先选择一个索引(
item.timeseries[5]
,例如,为您提供您要查找的
JObject
实例)。关于从上面以类型安全方式获取实际值的详细信息也适用于这里。

实际的JSON响应是什么?我怀疑它丢失了或被错误地访问了。确保在问题中包含相关数据(不要期望人们关注链接:)。VS调试器只给出“无法对空引用执行运行时绑定”响应
timeseries
是一个数组,请尝试
item.timeseries[0]。shortname