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