【发布时间】:2021-11-20 13:41:22
【问题描述】:
我正在尝试创建一个端点以返回 JSON 响应。我尝试将其缩小到对象,我收到的只是 {} 或 [{}] 作为响应。调试后,我确认该对象已正确创建,但在返回响应时它始终为空白。下面是简化的代码,但仍然有同样的问题。任何想法我做错了什么?
[Route("{application}")]
[HttpGet]
public IActionResult Get(string application)
{
List<RequestedSetting> requestedSettings = new List<RequestedSetting>();
RequestedSetting rs = new RequestedSetting("foo", "bar");
requestedSettings.Add(rs);
return Json(requestedSettings);
}
public class RequestedSetting
{
public string Name;
public string Value;
public RequestedSetting(string name, string value)
{
Name = name;
Value = value;
}
}
我也试过这个:
[Route("{application}")]
[HttpGet]
public List<RequestedSetting> Get(string application)
{
List<RequestedSetting> requestedSettings = new List<RequestedSetting>();
RequestedSetting rs = new RequestedSetting("foo", "bar");
requestedSettings.Add(rs);
return requestedSettings;
}
【问题讨论】:
-
这里的代码不可能什么都不返回。一定有其他东西你没有向我们展示。您在调试时是否单步执行了代码?您确定正在调用此方法吗?
-
@DavidG 我已经添加了测试的截图。
-
RequestedSetting类是什么样的?您有任何自定义模型绑定器或序列化代码吗? -
正如@DavidG 所说,您必须检查 RequestedSetting 类的序列化。数组不为空,因为 {} 表示添加的对象序列化错误。
-
@DavidG,我已经添加了课程。
标签: asp.net json object response