【发布时间】:2021-05-03 18:28:53
【问题描述】:
我尝试将其取消实现以仅将数据属性返回给 javascript。
我的控制器类将 json 返回到 javascript:
public ActionResult<IEnumerable> GetCourseThemes(string courseThemesId)
{
try
{
string jsonResult = _courseService.GetCourseThemes(courseThemesId);
var ResultObj = JsonConvert.DeserializeObject<List<CourseTheme>>(jsonResult);
return Ok(ResultObj);
}
catch (Exception ex)
{
return BadRequest(ex.Message.ToString());
}
}
返回 API 使用的 GetCourseThemes 方法的字符串 json
{
"data": [
{
"courseThemeId": 3,
"key": "ESEP",
"name": "Scrum",
"registrationDate": "2021-01-29T09:44:05.04",
"status": true
}
]
}
错误信息:
无法将当前 JSON 对象(例如 {"name":"value"})反序列化为类型 'System.Collections.Generic.List`1[Sygno.SE.UI.Core.Entities.CourseTheme]',因为类型需要一个 JSON 数组(例如 [1,2,3])才能正确反序列化。 要修复此错误,要么将 JSON 更改为 JSON 数组(例如 [1,2,3]),要么将反序列化类型更改为普通的 .NET 类型(例如,不是像整数这样的原始类型,而不是像这样的集合类型可以从 JSON 对象反序列化的数组或列表。 JsonObjectAttribute 也可以添加到类型中以强制它从 JSON 对象反序列化。 路径“数据”,第 1 行,位置 8。 [1]:https://i.stack.imgur.com/VnH6l.png
【问题讨论】:
标签: javascript json asp.net-core asp.net-web-api .net-5