C# 设置类以包含对象列表
我正在用C#设置一个类来保存我将从web服务调用中收到的响应。我使用RestSharp处理JSON数据的调用/解析 web服务文档将响应描述为:C# 设置类以包含对象列表,c#,web-services,class,C#,Web Services,Class,我正在用C#设置一个类来保存我将从web服务调用中收到的响应。我使用RestSharp处理JSON数据的调用/解析 web服务文档将响应描述为: OUTPUT: JSON object similar to example below. { "response":"[success] or [failed]", "messages":"Process succeeded.", "logonkey":"[logon key]",
OUTPUT: JSON object similar to example below.
{
"response":"[success] or [failed]",
"messages":"Process succeeded.",
"logonkey":"[logon key]",
"tokenkey":"[security token]",
"reccount":"1",
"filelist":
{
"fileid":"12345",
"status":"N",
"filename":"data.tar",
"fulfilled":"2012-06-15"
}
}
我的问题是如何在类中定义filelist数组元素
我是这样想的:
public class Files
{
public string Response { get; set; }
public string Messages { get; set; }
public string LogonKey { get; set; }
public string TokenKey { get; set; }
public int RecordCount { get; set; }
public List<FileList>
}
public class FileList
{
public string FileID { get; set; }
public string Status { get; set; }
public string Filename { get; set; }
public DateTime Fulfilled { get; set; }
}
公共类文件
{
公共字符串响应{get;set;}
公共字符串消息{get;set;}
公共字符串LogonKey{get;set;}
公共字符串令牌密钥{get;set;}
公共int记录计数{get;set;}
公开名单
}
公共类文件列表
{
公共字符串FileID{get;set;}
公共字符串状态{get;set;}
公共字符串文件名{get;set;}
已完成公共日期时间{get;set;}
}
然而,我对“公开名单”的声明有一个问题
任何关于处理此场景的最佳方法的建议都将不胜感激。JSON示例中的文件列表看起来不像对象列表。相反,它是一个单一的对象。 你可以试试
public class Files
{
public string Response { get; set; }
public string Messages { get; set; }
public string LogonKey { get; set; }
public string TokenKey { get; set; }
public int RecordCount { get; set; }
public FileList File {get; set; }
}
public List<FileList> Files = new List<FileList>();
如果您确定JSON中的文件列表实际上是对象列表,您可以尝试
public class Files
{
public string Response { get; set; }
public string Messages { get; set; }
public string LogonKey { get; set; }
public string TokenKey { get; set; }
public int RecordCount { get; set; }
public FileList File {get; set; }
}
public List<FileList> Files = new List<FileList>();
public List Files=new List();
您还忘了给它起名字,例如,试试这个
public List<FileList> MyFavouriteList {get;set;}.
公共列表MyFavoriteList{get;set;}。
属性的声明类似于“访问修饰符”、“类型”、“标识符(或名称)”、“getter和setter”。更确切地说,公共列表有什么问题?如上所述,代码将不会编译(之后出现意外的令牌错误)。我也无法添加{get;set;}元素(无效的令牌错误)。因为您还需要将getter和setter添加到该列表中。这会返回一个错误--无法解析符号get(或set),而且您忘记给它一个名称,例如,尝试此公共列表MyFavoriteList{get;set;}。属性的声明类似于“访问修饰符”、“类型”、“标识符(或名称)”、“getter和setter”。如果你愿意,我可以给你一篇文章,或者把它写成代码,就像一个答案一样。文件列表可能包含多个对象。在这种情况下,RecordCount将大于1,文件列表将包含多个对象。正如弗里曼在上面指出的,我忘了给这个物体命名。公共列表文件列表{get;set;}有效。如果使用类似于,List文件列表{get;set;}的属性,请确保在访问它们之前初始化它。