Contesto
Attualmente sto lottando con la modellazione corretta di un piccolo set di istruzioni che desidero inviare come JSON a un'applicazione Android per generare un elenco di parti dell'interfaccia utente. Al momento è stratificato come un singolo albero a cascata di oggetti / condizioni e meta-dati.
Piccolo esempio:
{
"instruction": {
"remarks": "",
"steps": [
{
"id": "1234",
"type": "text",
"text": "Welcome!"
},
{
"..": "..",
"type": "image",
"url": "example.org/image.png"
},
..
]
}
Ma ora il mio set di istruzioni sta crescendo con parti che a volte possono essere ignorate, non presenti e parti che devono essere compilate. Voglio anche rendere il JSON facile da analizzare, quindi penso che probabilmente dovrei fare qualcosa di semplici classi java per una libreria di analisi come GSON.
Domande
Come dovrei modellarlo?
- Dovrei limitarmi a creare un singolo documento JSON di grandi dimensioni con oggetti incorporati che poi si traducono in separare semplici file di classi java (forse DTO)?
- O devo ripensare al mio set di istruzioni e inserirlo in diversi documenti JSON (come oggetti) che includono riferimenti di documenti?
Sono anche un po 'confuso su come tradurrei quei riferimenti (se li avessi usati) in un campo JSON che può essere letto da una libreria come GSON di nuovo in codice java.
I concetti relativi ai documenti di riferimento e incorporamento che ho citato provengono da Dati MongoDB Model Design . Dato che ho pensato che sarebbe stato facile salvare il mio JSON in un database NoSQL come MongoDB.
C'è forse un'altra tecnica con cui descrivere meglio i miei dati JSON a questo punto come JSON Schema's ?