首页 > 解决方案 > 如何使用具有多种数据类型数组的 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; }
    }

标签: c#jsondto

解决方案


您可以创建以下对象

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" }
        }
    });
}

推荐阅读