我正在通過asp.net核心構建mvc web api。但發現它很奇怪,不能在請求中反序列化json主體。無法反序列化輸入json以在MVC-API中列出<string>
目標對象,如下
public class Status
{
public string Content {get; set;}
public string Publisher {get; set;}
public List<string> Tags {get; set;}
}
JSON的張貼在請求是這樣的:
{
"content":"this is my baby dog",
"publisher":"someone"
"tags":[ "tag1", "tag2" ]
}
在控制器中的API的方法是:
[HttpPost]
public IActionResult Publish([FromBody] Status status)
{
// status should be deserialized now
}
當測試時,狀態始終爲空。但是,如果我發佈沒有標籤列表的JSON,狀態可以成功反序列化。所以看起來這裏的失敗原因是由List引起的。但它應該能夠在沒有任何特殊配置的情況下反序列化,對嗎?
你是如何發佈JSON?你能顯示代碼嗎? – WillC
提供了一個[mcve],可用於重現您的問題。確認post中無效的json不僅僅是問題中的拼寫錯誤。 – Nkosi