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

本文关键字:json 对象 返回 我的 JavaScriptSerializer 为什么 | 更新日期: 2023-09-27 18:15:09

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

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的行为不符合预期?

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

类成员和结构成员(包括嵌套类和结构)的访问级别默认为private。- MSDN

这样做的结果是,序列化将看不到这些属性。为了使它们序列化,它们需要被标记为public。它们还需要有一个公共getter,以便序列化器读取属性。

public string Rate { get; set; }
public string Date { get; set; }
public string Number { get; set; }