[英]Deserialize nested JSON array using RestSharp
具有以下json数组:
[{
"Name": "Component1",
"Count": 2,
"Bulletins": [{
"ReferenceNumber": "00000A57",
"Title": "Test test test",
"PublicationDate": "2014-07-02",
"List": ["00000A57"]
},
{
"ReferenceNumber": "10V240000",
"Title": "Bla bla bla",
"PublicationDate": "2010-06-04",
"List": ["10V240000"]
}]
},
{
"Name": "Component2",
"Count": 2,
"Bulletins": [{
"ReferenceNumber": "00-00-0A-57",
"Title": "INFORMATION REGARDING BLA BLA",
"PublicationDate": "2015-05-22",
"List": ["15-00-89-004",
"15-00-89-004A"]
},
{
"ReferenceNumber": "01-02-0B-57",
"Title": "UNSCHEDULED SUPPLEMENTAL SERVICES",
"PublicationDate": "2012-09-28",
"List": ["04-06-01-029",
"04-26-51-029",
"04-26-51-029",
"04-26-51-029",
"04-26-51-029",
"04-26-51-029",
"04-26-51-029"]
}]
}]
我正在使用以下代码来检索Name
和Count
值:
public class BulletinsItemsName
{
public string Name { get; set; }
public string Count { get; set; }
public List<BulletinsContainer> blt { get; set; }
}
public class BulletinsContainer
{
public Bulletins Bulletins;
}
public class Bulletins
{
public string ReferenceNumber { get; set; }
public string Title { get; set; }
public string PublicationDate { get; set; }
public string SupersededList { get; set; }
}
要运行请求,我有:
var req = request.Execute<List<BulletinsItemsName>>(parameters);
并列出值:
foreach(var xx in req.Data)
{
Console.WriteLine(xx.Name);
foreach(var yz in xx.blt) // Object reference not set to an instance of an object
{
Console.WriteLine(yz.Bulletins.Title);
}
}
如何获取以下值: ReferenceNumber
, Title
, PublicationDate
和List
? 所有值都正确返回了Name
和Count
但是当我想获取Bulletins
值时,将引发以下错误: Object reference not set to an instance of an object
。
尝试使用Bulletins列表而不是BulletinsContainer-对我来说这是清晨,但是我不明白为什么您需要BulletinsContainer
public List<Bulletins> blt { get; set; }
如果可能,我还建议您以单数形式命名类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.