设置一个类以包含对象列表

时间:2012-08-14 20:51:32

标签: 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]",
        "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; }
}

但是,我对“公共列表”声明有疑问。

对于处理此方案的最佳方式的任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:2)

你也忘了给它一个名字,比如试试这个

public List<FileList> MyFavouriteList {get;set;}. 

一个proprety声明为“access modifier”,“Type”,“identifier(或name)”,“getter and setter”。

答案 1 :(得分:1)

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; }
}

如果您确定JSON中的文件列表确实是对象列表,您可以尝试

public List<FileList> Files   = new List<FileList>();