1

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

但是,我对“public List”语句有疑问。

任何有关处理这种情况的最佳方法的建议将不胜感激。

4

2 回答 2

2

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

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

一个属性被声明为这样的“访问修饰符”、“类型”、“标识符(或名称)”、“getter 和 setter”。

于 2012-08-14T21:07:45.247 回答
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>();
于 2012-08-14T20:57:22.170 回答