Valida tu json contra un xsd, tienes que hacer algo como esto
1. Debes cargar el json en un XMLdocument y validar el esquema del mismo
XmlDocument xml = new XmlDocument();
xml.LoadXml(@"<?xml version=""1.0"" encoding=""UTF-8""?>
<entrega orden=""12"">
<Usuario>Juan Perez</Usuario>
<Detalle>
<Descripcion>Una orden muy grande</Descripcion>
</Detalle>
</entrega>");
xml.Schemas.Add(null, "schema.xsd");
xml.Validate((sender, args) =>
{
switch (args.Severity)
{
case XmlSeverityType.Error:
Console.WriteLine("XML no es valido: {0}", args.Exception);
break;
case XmlSeverityType.Warning:
Console.WriteLine("XML advertencia: {0}", args.Exception);
break;
}
});
El esquema lo creas como cualquier XSD
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="entrega">
<xs:complexType>
<xs:sequence>
<xs:element name="usuario" type="xs:string"/>
<xs:element name="detalle">
<xs:complexType>
<xs:sequence>
<xs:element name="descripcion" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="orden" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
Saludos
Ing. Carlos Monroy