C# 在JSON.NET中序列化集合不起作用
我试图使用C#中的类来收集网页的URL及其名称。我正在使用Newtonsoft.Json将它们序列化为Json字符串 这是我的网页对象类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
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”