Click or drag to resize
Json.NET

Using JsonSchemaResolver

 

This sample uses a JsonSchemaResolver to resolve schema references from different JSON documents.

Caution note Caution

Obsolete. JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details.

Sample
Usage
string schemaJson;
JsonSchemaResolver resolver = new JsonSchemaResolver();

schemaJson = @"{
  'id': 'person',
  'type': 'object',
  'properties': {
    'name': {'type':'string'},
    'age': {'type':'integer'}
  }
}";

JsonSchema personSchema = JsonSchema.Parse(schemaJson, resolver);

schemaJson = @"{
  'id': 'employee',
  'type': 'object',
  'extends': {'$ref':'person'},
  'properties': {
    'salary': {'type':'number'},
    'jobTitle': {'type':'string'}
  }
}";

JsonSchema employeeSchema = JsonSchema.Parse(schemaJson, resolver);

string json = @"{
  'name': 'James',
  'age': 29,
  'salary': 9000.01,
  'jobTitle': 'Junior Vice President'
}";

JObject employee = JObject.Parse(json);

bool valid = employee.IsValid(employeeSchema);

Console.WriteLine(valid);
// true