【发布时间】:2021-05-17 15:40:02
【问题描述】:
我有一个已升级到 ASp.Net Core 3.0 的 ASP.Net Core 2.2 网站。大多数 WEB API 方法按预期工作,并返回与升级前一样的数据。
但是这个 API 方法返回一个包含空元素的数组:
[Route("api/TripAnalysis/{id:int}")]
public List<TurAnalyse> GetTripAnalysis(int id)
{
var x = new List<TurAnalyse>() { new TurAnalyse { ArtId = 1, ArtNavn = "Havørn", C1 = "X", Su = false } };
return x;
}
TurAnalyse 模型类在这里:
public class TurAnalyse
{
public int ArtId;
public bool Su;
public string ArtNavn;
public string C1;
public string C2;
public string C3;
public string C4;
public string C5;
public string C6;
}
我在调用控制器方法时得到了这个:
[{}]
所以它返回一个包含 1 个元素但没有属性或值的数组 - 不明白为什么?
【问题讨论】:
-
这些是字段而不是属性。添加 {get;set;}
-
如果你使用 System.Text.Json,你需要在序列化中选择include fields。
-
史蒂夫 - 你说的太对了 :-) - 感谢您看到显而易见的事实。
标签: c# json asp.net-core asp.net-web-api