List<比;无法序列化为JSON

本文关键字:序列化 JSON List | 更新日期: 2023-09-27 18:12:03

我在我的ASP中使用以下c# class。. NET MVC项目:

public class ZoneModel {
    public int Id { get; set; }
    public int Number { get; set; }
    public string Name { get; set; }
    public bool LineFault { get; set; }
    public bool Sprinkler { get; set; }
    public int Resistance { get; set; }
    public string ZoneVersion { get; set; }
    List<DetectorModel> Detectors { get; set; }
}

在我的一个Controller中,我有一个返回类型为JsonResultAction,从中我返回ZoneModel对象列表(从数据库填充)。Detectors属性包含数据,但是当我使用return Json(viewModel);从控制器返回列表时,序列化响应中缺少检测器列表。

为什么Detectors属性不序列化到JSON?

List<比;无法序列化为JSON

澄清一下我的评论。属性需要声明为Public成员才能被JSON序列化。. NET或内置的JavaScriptSerializer

public class ZoneModel {
    public int Id { get; set; }
    public int Number { get; set; }
    public string Name { get; set; }
    public bool LineFault { get; set; }
    public bool Sprinkler { get; set; }
    public int Resistance { get; set; }
    public string ZoneVersion { get; set; }
    // this property will not be serialized since it is private (by default)
    List<DetectorModel> Detectors { get; set; }
}