加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用可能是字符串或int的字段反序列化JSON对象的最佳做法

发布时间:2020-12-15 23:37:38 所属栏目:百科 来源:网络整理
导读:我试图使用Newton Json反序列化器反序列化json对象,如下所示: { "grades": 97}Or this:{ "grades": ""} 我想知道如何在C#中正确定义DTO类来表示这个对象?谢谢! 解决方法 请尝试使用动态关键字: public class Rootobject{ public dynamic grades { get; s
我试图使用Newton Json反序列化器反序列化json对象,如下所示:

{
  "grades": 97
}

Or this:

{
  "grades": ""
}

我想知道如何在C#中正确定义DTO类来表示这个对象?谢谢!

解决方法

请尝试使用动态关键字:

public class Rootobject
{
     public dynamic grades { get; set; }
}

它将同时使用string和int.有关更多信息,请参阅using dynamic type.

更新:

然后转换为int或字符串我将使用Convert.ToString(),因为它处理空值,对于int我将使用Int32.TryParse()因为如果输入drades格式不正确,我可以更好地控制转换为int.

更新:

如果成绩为“”,则C#中的任何可空类型都将变为null.为此,你可以使用int?.但如果等级类似于“3ds”,那么你必须使用一些动态方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读