【问题标题】:How to create Dto using Json object C# with multiple data types array如何使用具有多种数据类型数组的 Json 对象 C# 创建 Dto
【发布时间】:2021-04-26 15:48:45
【问题描述】:

需要在数组 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# json dto


    【解决方案1】:

    您可以创建以下对象

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

    【讨论】:

    • 嗨@Honey.. 感谢您的回复,我想在不硬编码那些未命名字段的情况下进行处理,
    • @MohanK 你能再解释一下吗?
    • 谢谢它帮助了我:public dynamic[] UnnamedFields { get;放; }
    猜你喜欢
    • 1970-01-01
    • 2022-11-28
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 2017-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多