Modello di contenuto JSON
Il modello di contenuto JSON viene utilizzato per accedere al contenuto archiviato in formato JSON. Fornisce un'API di base per consentire ai chiamanti di estrarre i valori presupponendo che sappiano a quali valori è necessario accedere.
| Metodo | Tipi di restituzione | Descrizione |
|---|---|---|
getJSONAsString() |
String |
Restituisce il contenuto JSON come stringa. |
getObjectAt(<List of cbjecta> path, JSONArtifact artifact) throws
Exception |
Object |
Restituisce l'oggetto nel percorso specificato. La risorsa root fornita potrebbe essere null, nel qual caso viene utilizzata la root del contenuto. Il valore restituito può essere una stringa letterale, un numero intero, reale o booleano o una risorsa utente JSON (un oggetto JSON o un array JSON). |
getChildValuesAt(<List of object> path, JSONArtifact artifact) throws
Exception |
Hash table (key:object, value:object> |
Restituisce i valori secondari del percorso specificato se il percorso conduce a un oggetto JSON o a null, altrimenti. Le chiavi nella tabella sono stringhe mentre il valore associato può essere una stringa letterale, un numero intero, reale o booleano o una risorsa utente JSON (un oggetto JSON o un array JSON). |
getChildrenAt(<List of object> path path, JSONArtifact artifact) throws
Exception |
List of objects |
Restituisce l'elenco di oggetti nel percorso specificato se il percorso conduce a un array JSON o a null in caso contrario. I valori restituiti possono essere una stringa letterale, un numero intero, reale o booleano o una risorsa utente JSON (un oggetto JSON o un array JSON). |
reset() |
void |
Svuota qualsiasi memoria interna associata a questo modello di contenuto (ad esempio, un oggetto DOM memorizzato nella cache). |
Script di esempio
Se un nodo builder di output crea l'output in base al formato JSON, è possibile utilizzare quanto segue per accedere alle informazioni su una serie di manuali:
results = []
outputbuilder.run(results)
output = results[0]
cm = output.getContentModel("jsonContent")
bookTitle = cm.getObjectAt(["books", "ISIN123456", "title"], None)
# Alternatively, get the book object and use it as the root
# for subsequent entries
book = cm.getObjectAt(["books", "ISIN123456"], None)
bookTitle = cm.getObjectAt(["title"], book)
# Get all child values for aspecific book
bookInfo = cm.getChildValuesAt(["books", "ISIN123456"], None)
# Get the third book entry. Assumes the top-level "books" value
# contains a JSON array which can be indexed
bookInfo = cm.getObjectAt(["books", 2], None)
# Get a list of all child entries
allBooks = cm.getChildrenAt(["books"], None)