modelo de conteúdo JSON

O modelo de conteúdo JSON é usado para acessar conteúdo armazenado no formato JSON. Ele fornece uma API básica para permitir que os responsáveis pela chamada extraiam valores na suposição de que eles sabem quais valores devem ser acessadas

Tabela 1. Métodos para o modelo de conteúdo JSON
Método Tipos de retornos Descrição
getJSONAsString() String Retorna o conteúdo JSON como uma sequência.
getObjectAt(<List of cbjecta> path, JSONArtifact artifact) throws Exception Object Retorna o objeto no caminho especificado. O artefato raiz fornecido pode ser nulo, nesse caso, a raiz do conteúdo é usada O valor retornado pode ser uma sequência literal, um número inteiro, real ou booleano ou um artefato JSON (um objeto JSON ou uma matriz JSON).
getChildValuesAt(<List of object> path, JSONArtifact artifact) throws Exception Hash table (key:object, value:object> Retorna os valores-filhos do caminho especificado se o caminho levar a um objeto JSON, caso contrário, retorna nulo. As chaves na tabela são sequências enquanto o valor associado pode ser uma sequência literal, número inteiro, real ou booleano ou um artefato JSON (um objeto JSON ou uma matriz JSON).
getChildrenAt(<List of object> path path, JSONArtifact artifact) throws Exception List of objects Retorna a lista de objetos no caminho especificado se o caminho levar a uma matriz JSON, caso contrário, retorna nulo. Os valores retornados podem ser uma sequência literal, um número inteiro, real ou booleano ou um artefato JSON (um objeto JSON ou uma matriz JSON).
reset() void Esvazia qualquer armazenamento interno associado a este modelo de conteúdo (por exemplo, um objeto DOM em cache).

Script de exemplo

Se um nó do construtor de saída criar saída com base no formato JSON, será possível usar o seguinte para acessar informações sobre um conjunto de manuais:

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)