首页 新闻 会员 周边 捐助

C# Newtonsoft反序列化

0
悬赏园豆:50 [已解决问题] 解决于 2023-02-05 18:31

使用Newtonsoft反序列化时,当我的字符串内容和实体类不一致时,怎么进行判断呢,Newtonsoft在反序列化时不会进行报错,只有字符串内容不符合Json格式才会报错,我想要在字符串内容符合字符串格式但是和实体类不一致时也要进行报错,怎么处理?

例如,实体类如下:

    public class Person
    { 
        public int Age { get; set; }
    }

json字符串如下:

string content =
"{
    "NavX": 2
}"

进行反序列化

     var dataTem = Newtonsoft.Json.JsonConvert.DeserializeObject<Person>(content);

此时正常返回一个空Preson实体类,但不会进行报错,我想要报错,怎么实现呢?

xxixix的主页 xxixix | 初学一级 | 园豆:157
提问于:2023-02-05 12:17
< >
分享
最佳答案
0

添加 MissingMemberHandling.Error 设置可以解决

using Newtonsoft.Json;

string content = """
{
    "NavX": 2
}
""";

var settings = new JsonSerializerSettings
{
    MissingMemberHandling = MissingMemberHandling.Error,
};

var dataTem = JsonConvert.DeserializeObject<Person>(content, settings);

public class Person
{
    public int Age { get; set; }
}
收获园豆:50
dudu | 高人七级 |园豆:30755 | 2023-02-05 13:48

收到,感谢!

xxixix | 园豆:157 (初学一级) | 2023-02-05 18:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册