La risposta di servizio resto sto lavorando con è simile a seguente esempio, ho incluso solo 3 campi qui, ma ci sono molti di più:Come utilizzare le definizioni dello schema JSON (progetto-04)
{
"results": [
{
"type": "Person",
"name": "Mr Bean",
"dateOfBirth": "14 Dec 1981"
},
{
"type": "Company",
"name": "Pi",
"tradingName": "Pi Engineering Limited"
}
]
}
I voglio scrivere un file di schema JSON per il sopra (progetto-04), che specificherà esplicitamente che:
if type == Person then list of required properties is ["type", "name", "dateOfBirth", etc]
OR
if type == "Company" then list of required properties is ["type", "name", "tradingName", etc]
Tuttavia non riesco a trovare alcuna documentazione o esempio di come farlo.
Attualmente il mio schema JSON si presenta come segue:
{
"$schema": "http://json-schema.org/draft-04/schema",
"type": "object",
"required": ["results" ],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": ["type", "name"],
"properties": {
"type": { "type": "string" },
"name": { "type": "string" },
"dateOfBirth": { "type": "string" },
"tradingName": { "type": "string" }
}
}
}
}
}
Qualsiasi puntatori/esempi di come devo gestire questo.
penso che si dovrebbe descrivere questo con un'eredità: Digitare Persona estende MyObject, digitare Company estende MyObject e nello schema principale definire un array con elementi di tipo MyObject –
Non so come JSONSchema sia simile a XSD, ma da quello che posso ricordare su XSD non è necessario un comune superclasse per il tuo oggetto. Preferiresti la tua eredità all'interno dei file dello schema. E. un segnaposto astratto nello schema principale, che consentirebbe allo schema della persona e allo schema aziendale di prendere il suo posto. – atomman
Vedo che le dipendenze si trovano anche nella finestra di dialogo. 3. Qualcuno spiega eventuali differenze in relazione alle dipendenze tra le bozze 3 e 4? – Relequestual