我正在尝试使用 Newton Json Deserializer 来反序列化 json 对象,如下所示:
{
"grades": 97
}
Or this:
{
"grades": ""
}
我想知道我应该如何正确定义 DTO C# 中的类来表示 this 对象?谢谢!
最佳答案
请尝试使用 dynamic
关键字:
public class Rootobject
{
public dynamic grades { get; set; }
}
它适用于 string
和 int
。有关详细信息,请参阅 using dynamic type .
更新:
然后转换为 int
或 string
我将使用 Convert.ToString()
因为它处理 null
值和 int
我将使用 Int32.TryParse()
因为如果输入 drades
我可以更好地控制到 int
的转换> 格式不正确。
更新:
如果成绩为 "",则 C# 中的任何可空类型都将变为 null
。为此,您可以使用 int?
。但是,如果成绩类似于“3ds”,那么您必须使用一些动态方法。
关于c# - 使用可能是字符串或 int 的字段反序列化 JSON 对象的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42307269/