Newtonsoft.Json.Schema 4.0.2-beta1

Logo Json.NET Schema

NuGet version (Newtonsoft.Json.Schema) Build status

Json.NET Schema is a powerful, complete and easy to use JSON Schema framework for .NET

Validate JSON

JSchema schema = JSchema.Parse(@"{
  'type': 'object',
  'properties': {
    'name': {'type':'string'},
    'roles': {'type': 'array'}
  }
}");

JObject user = JObject.Parse(@"{
  'name': 'Arnie Admin',
  'roles': ['Developer', 'Administrator']
}");

bool valid = user.IsValid(schema);
// true

Generate Schemas

JSchemaGenerator generator = new JSchemaGenerator();
JSchema schema = generator.Generate(typeof(Account));
// {
//   "type": "object",
//   "properties": {
//     "email": { "type": "string", "format": "email" }
//   },
//   "required": [ "email" ]
// }

public class Account
{
    [EmailAddress]
    [JsonProperty("email", Required = Required.Always)]
    public string Email;
}

Validate Deserialization

JSchema schema = JSchema.Parse(@"{
  'type': 'array',
  'item': {'type':'string'}
}");
JsonTextReader reader = new JsonTextReader(new StringReader(@"[
  'Developer',
  'Administrator'
]"));

JSchemaValidatingReader validatingReader = new JSchemaValidatingReader(reader);
validatingReader.Schema = schema;

JsonSerializer serializer = new JsonSerializer();
List<string> roles = serializer.Deserialize<List<string>>(validatingReader);

No packages depend on Newtonsoft.Json.Schema.

.NET Framework 3.5

.NET Framework 4.0

.NET Framework 4.5

.NET Standard 2.0

.NET Standard 2.1

Version Downloads Last updated
4.0.2-beta2 9 05/06/2025
4.0.2-beta1 10 05/06/2025
4.0.1 10 04/02/2025
3.0.16 10 05/06/2025
3.0.15 9 05/06/2025
3.0.14 11 05/06/2025
3.0.13 10 05/06/2025
3.0.12 9 05/06/2025
3.0.11 10 05/06/2025
3.0.10 8 05/06/2025
3.0.9 10 05/06/2025
3.0.8 10 05/06/2025
3.0.7 10 05/06/2025
3.0.6 11 05/06/2025
3.0.5 8 05/06/2025
3.0.4 10 05/06/2025
3.0.3 8 05/06/2025
3.0.2 11 05/06/2025
3.0.1 10 05/06/2025
2.0.13 9 05/06/2025
2.0.12 11 05/06/2025
2.0.11 9 05/06/2025
2.0.10 8 05/06/2025
2.0.9 9 05/06/2025
2.0.8 8 05/06/2025
2.0.7 8 05/06/2025
2.0.6 10 05/06/2025
2.0.5 11 05/06/2025
2.0.4 10 05/06/2025
2.0.3 9 05/06/2025
2.0.2 9 05/06/2025
2.0.1 10 05/06/2025
1.0.11 10 05/06/2025
1.0.10 10 05/06/2025
1.0.9 9 05/06/2025
1.0.8 9 05/06/2025
1.0.7 9 05/06/2025
1.0.6 9 05/06/2025
1.0.5 9 05/06/2025
1.0.4 10 05/06/2025
1.0.3 9 05/06/2025
1.0.2 7 05/06/2025
1.0.1 10 05/06/2025