Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在JSON.NET中序列化集合不起作用_C#_Class_Serialization_Json.net - Fatal编程技术网

C# 在JSON.NET中序列化集合不起作用

C# 在JSON.NET中序列化集合不起作用,c#,class,serialization,json.net,C#,Class,Serialization,Json.net,我试图使用C#中的类来收集网页的URL及其名称。我正在使用Newtonsoft.Json将它们序列化为Json字符串 这是我的网页对象类 class WebPage { private string Name; private string URL; public WebPage(string name, string uRL) { Name = name; URL = uRL; } public string

我试图使用C#中的类来收集网页的URL及其名称。我正在使用Newtonsoft.Json将它们序列化为Json字符串

这是我的网页对象类

class WebPage
{
    private string Name;
    private string URL;

    public WebPage(string name, string uRL)
    {
        Name = name;
        URL = uRL;
    }

    public string GetName()
    {
        return Name;
    }

    public string GetURL()
    {
        return URL;
    }
}
我正在使用一个名为
pageCollection
列表,将所有网页添加到该列表中,但当我这样运行代码时:

string json = JsonConvert.SerializeObject(pageCollection);

字符串输出只是空括号。这里有什么问题?

好的,正如评论很快说的,我的问题是我的财产是私有的。将它们设置为public并删除getter/setter,问题就解决了

我建议您创建一个只包含属性的适当POCO。然后确保它们被公开。在一个单独的类中,您还需要包含一个构造函数。您现有的代码将不起作用

你需要在你的类中有一个默认构造函数,在类中有一个公共属性,这样才能工作。@ChetanRanpariya哎呀,是的,这似乎就是问题所在。Thanks@ChetanRanpariya你能指出提到这一点的文档吗?不,代码没有任何属性,只有私有字段。而且
GetName()
不是“getter”