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); if(o.Validate(new JSchema(schema))){ Console.WriteLine("Validation succefull"); } } catch(Exception ex) { Console.WriteLine(ex.ToString()); }