如何在反序列化期间验证模式
本文关键字:验证 模式 反序列化 | 更新日期: 2023-09-27 18:05:37
我为一个项目中的几个类定制了转换器,我想验证它们的模式,作为反序列化的一部分。
这感觉应该是非常直接的,但是我在文档中找不到。
我可以简单地根据ReadJson
的第一部分的模式进行验证,或者使用JsonValidatingReader
,但它似乎应该是转换器本身的一部分,或者明确地成为API的一部分,而不是"自己把它粘在一起"。
我在源代码中看到一些提到JsonContract
,但不清楚这是否是我需要的,并且搜索谷歌只是导致JsonContractResolver
的一堆结果。(我也不太清楚它是做什么的,也不清楚我为什么需要它。)如果它在文档中,我找不到它。
我发现这个问题/答案说"嘿,你可以这样做",但当然没有真正说怎么做。
有人这样做过吗?我只需要手动操作吗?
编辑澄清:我知道如何验证,也知道如何反序列化。我想把它们放在一起。
该问题的答案中提供的链接显示了如何根据模式进行验证。下面是示例代码:
JsonSchema schema = JsonSchema.Parse(schemaJson);
JObject person = JObject.Parse(@"{
""name"": ""James"",
""hobbies"": ["".NET"", ""Blogging"", ""Reading"", ""Xbox"", ""LOLCATS""]
}");
bool valid = person.IsValid(schema);
// true