我正在通过asp.net核心构建一个mvc web api.但发现在请求中不能反序列化json体是很奇怪的.
目标对象如下
public class Status
{
public string Content {get; set;}
public string Publisher {get; set;}
public List<string> Tags {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
在请求中发布的json是这样的:
{
"content":"this is my baby dog",
"publisher":"someone"
"tags":[ "tag1", "tag2" ]
}
Run Code Online (Sandbox Code Playgroud)
控制器中的api方法是:
[HttpPost]
public IActionResult Publish([FromBody] Status status)
{
// status should be deserialized now
}
Run Code Online (Sandbox Code Playgroud)
测试时,状态始终为null.但是如果我发布没有标签列表的json,则可以成功地反序列化状态.所以这里的失败原因似乎是由List引起的.但它应该能够在没有任何特殊配置的情况下进行反序列化,对吧?