c# - 如何使用具有多种数据类型数组的 Json 对象 C# 创建 Dto
问题描述
需要在数组JSON对象中创建支持多种数据类型的Dto类,由于数组中有整数,字符串值,已声明动态对象声明但出现错误,是否需要创建自定义JsonConvert类来处理Json数组多数据类型数组数据?
{
"apiVersion": 1,
"data": {
"unnamedFields": [
1,
"T",
1,
350000,
"\\u0000",
"\\u0000",
]
}
}
Have created property
/// <summary>
/// Un Named Fields
/// </summary>
[JsonProperty(PropertyName = "unnamedFields")]
public List<UnNamedField>[] UnNamedFields { get; set; }
public class UnNamedField
{
/// <summary>
/// UnName Feild
/// </summary>
public **dynamic** UnnamedFields{ get; set; }
}
解决方案
您可以创建以下对象
class Dto
{
public int ApiVersion { get; set; }
public DtoData Data { get; set; }
}
class DtoData
{
public dynamic[] UnnamedFields { get; set; }
}
然后像这样使用它
[HttpGet("test")]
public IActionResult GetDynamicJsonArray()
{
return Ok(new Dto
{
ApiVersion = 1,
Data = new DtoData
{
UnnamedFields = new dynamic[] { 1, "T", 1, 35000, "\\u0000" }
}
});
}