Newtonsoft.Json.Schema 4.0.2-beta2

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 13 12/20/2025
4.0.2-beta1 11 12/20/2025
4.0.1 11 12/20/2025
3.0.16 10 01/09/2026
3.0.15 11 12/23/2025
3.0.14 9 12/30/2025
3.0.13 9 01/15/2026
3.0.12 9 01/15/2026
3.0.11 12 12/19/2025
3.0.10 13 12/30/2025
3.0.9 12 12/20/2025
3.0.8 9 12/20/2025
3.0.7 10 12/18/2025
3.0.6 11 12/19/2025
3.0.5 11 12/20/2025
3.0.4 11 12/20/2025
3.0.3 10 12/20/2025
3.0.2 12 12/18/2025
3.0.1 7 12/23/2025
2.0.13 8 01/14/2026
2.0.12 8 12/19/2025
2.0.11 7 01/13/2026
2.0.10 10 01/01/2026
2.0.9 10 12/20/2025
2.0.8 10 12/20/2025
2.0.7 11 12/20/2025
2.0.6 8 01/03/2026
2.0.5 11 12/20/2025
2.0.4 10 12/19/2025
2.0.3 14 12/20/2025
2.0.2 9 12/20/2025
2.0.1 11 12/20/2025
1.0.11 10 01/20/2026
1.0.10 8 01/13/2026
1.0.9 12 12/18/2025
1.0.8 9 12/20/2025
1.0.7 9 12/20/2025
1.0.6 9 12/19/2025
1.0.5 10 12/20/2025
1.0.4 12 12/19/2025
1.0.3 10 12/20/2025
1.0.2 11 12/20/2025
1.0.1 13 12/20/2025