Newtonsoft.Json.Schema 4.0.2-beta3

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-beta3 1 09/21/2026
4.0.2-beta2 31 12/20/2025
4.0.2-beta1 29 12/20/2025
4.0.1 28 12/20/2025
3.0.16 25 01/09/2026
3.0.15 26 12/23/2025
3.0.14 25 12/30/2025
3.0.13 28 01/15/2026
3.0.12 26 01/15/2026
3.0.11 33 12/19/2025
3.0.10 24 12/30/2025
3.0.9 29 12/20/2025
3.0.8 24 12/20/2025
3.0.7 25 12/18/2025
3.0.6 30 12/19/2025
3.0.5 33 12/20/2025
3.0.4 24 12/20/2025
3.0.3 27 12/20/2025
3.0.2 28 12/18/2025
3.0.1 24 12/23/2025
2.0.13 26 01/14/2026
2.0.12 26 12/19/2025
2.0.11 25 01/13/2026
2.0.10 27 01/01/2026
2.0.9 34 12/20/2025
2.0.8 36 12/20/2025
2.0.7 22 12/20/2025
2.0.6 23 01/03/2026
2.0.5 26 12/20/2025
2.0.4 28 12/19/2025
2.0.3 36 12/20/2025
2.0.2 23 12/20/2025
2.0.1 26 12/20/2025
1.0.11 27 01/20/2026
1.0.10 22 01/13/2026
1.0.9 27 12/18/2025
1.0.8 30 12/20/2025
1.0.7 24 12/20/2025
1.0.6 21 12/19/2025
1.0.5 25 12/20/2025
1.0.4 30 12/19/2025
1.0.3 27 12/20/2025
1.0.2 28 12/20/2025
1.0.1 27 12/20/2025