| GeJSON version | 1.0.0 |
| Linguaggi | C# |
Generale #
E’ possibile validare una struttura json tramite uno schema di controllo. Lo schema di controllo deve rispettare queste specifiche e questa dialettica e descrive le caratteristiche che la struttura json deve rispettare. Con la validazione è possibile verificare la sintassi sia delle chiavi che dei valori, stabilire quali proprietà sono obbligatorie, valori di default, se sono ammesse proprietà aggiuntive non espressamente dichiarate, e altro ancora.
Oggetti:
additionalProperies, minProperties, maxProperties, properties, required, title, description, type
Array:
items, minItems, maxItems, required, default, nullable,title, description, type
Proprietà:
title, description, default, nullable, type
Uso base #
Di seguito viene creato uno schema semplice che controlla il tipo di dato dei parametri obbligatori e permette parametri aggiuntivi non specificati nello schema
var jsonString = @"
{
'name' : 'tommy ritommy',
'number' : 55.5,
'array' : [
'item1',
'item2',
'item3',
'item4
],
'objIn' : {
'objkey1' : 'ObjValue1',
'objkey2' : 'ObjValue2'
}
}";
var schema = @"{
'title': 'root',
'description' : 'root object of structure',
'type': 'object',
'required' : [ 'name','number' ],
'additionalProperties' : true,
'properties': {
'name':{
'type': 'string'
},
'number':{
'type': 'number'
}
}
}";
try
{
JObject o = new JObject(jsonString);
o.Validate(new JSchema(schema))){
Console.WriteLine("Validation succefull");
}
catch(Exception ex)
{
Console.WriteLine(ex.ToString());
}