我有一个类,其中有一些问题,需要从一个json文件中填充jsonElement,如下所示:
{
"entities": [
{
"name": "DateTimeENT1",
"description": "This a example",
"uil": {
"uill": "This is my Layout"
}
}
]
}
正在反序列化为此类:
public class Container {
public ICollection<Entity> Entities {get; set;}
}
public class Entity {
public string Name {get; set;}
public string Descripton {get; set;}
UIL Uil {get; set;}
}
public class UIL{
JsonElement Uill {get; set;}
}
这是我的反序列化方式:
var input= JsonConvert.DeserializeObject<Container>(File.ReadAllText(@"init.json"));
当我运行代码时,出现了一个错误,错误提示为“将值“This is my Layout”转换为类型'System.Text.Json.JsonElement'时出错。” 我该如何解决这个问题?
奇怪的是,在我的控制器端点上,我可以使用相同的输入。
public IActionResult Put([FromBody] Container container)
使用给定的 JSON 可以毫无问题地创建一个容器。那么为什么我使用反序列化器时它就不起作用了呢?
UIL
和UIV
应该是字符串,而不是JsonElement
? - Selim Yildiz