为什么我的 JavaScriptSerializer 返回空 json 对象?

2024-01-05

我有一个数据点列表,定义如下:

public class Point {
    string Rate;
    string Date;
    string Number;

    public Point(string Rate, string Date, string Number)
    {
        this.Rate = Rate;
        this.Date = Date;
        this.Number = Number;
    }
}

然后在我的代码中我有:

List<Point> points = populatedList;
JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();

string text = javaScriptSerializer.Serialize(points);

System.IO.File.WriteAllText(@"C:\Users\Public\WriteText.txt", text);

然而,当我查看“WriteText.txt”时,我所看到的只是一堆空括号:{}, {}, {} ...我也尝试过只用一个点来完成此操作,然后只剩下一对匹配的括号。然后我尝试单独序列化一个字符串对象,效果很好。为什么是JavaScriptSerializer表现不符合预期?


The access level for class members and struct members, including nested classes and structs, is private by default. - Access ModifiersMSDN http://msdn.microsoft.com/en-us/library/ms173121.aspx

因此,序列化将看不到这些属性。为了使它们被序列化,需要将它们标记为公共。它们还需要有一个公共 getter 以便序列化器读取属性。

public string Rate { get; set; }
public string Date { get; set; }
public string Number { get; set; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 JavaScriptSerializer 返回空 json 对象? 的相关文章

随机推荐