我有一个项目中几个类的自定义转换器,我想验证他们的模式作为反序列化的一部分。
这感觉它应该非常直接,但我在文档中找不到它。
我可以简单地验证ReadJson
第一部分中的架构,或使用JsonValidatingReader
,但它似乎应该是转换器本身的一部分,或者显然是API的一部分而不是而不是“自己把它粘在一起”的情况。
我在源代码中看到了JsonContract
的一些提及,但目前尚不清楚这是否是我需要的,而在Google上搜索它只会导致JsonContractResolver
的一堆结果。 (我不清楚这是什么或为什么我需要它。)如果它在文档中,我找不到它。
我发现这个question/answer说“嘿,你可以做到这一点”,但当然并没有说明如何。
有人这样做过吗?我只是手动完成吗?
编辑以澄清:我知道如何验证,我知道要反序列化。我想一起做。
答案 0 :(得分:1)
该问题答案中提供的链接显示了如何针对架构进行验证。这是示例代码。
JsonSchema schema = JsonSchema.Parse(schemaJson);
JObject person = JObject.Parse(@"{
""name"": ""James"",
""hobbies"": ["".NET"", ""Blogging"", ""Reading"", ""Xbox"", ""LOLCATS""]
}");
bool valid = person.IsValid(schema);
// true