TransformerDefinition - Com escopo, Global
. TransformerDefinition A API fornece métodos para instanciar e gerenciar o objeto TransformerDefinition, que associa uma lista de regras de transformação e um caminho de registro.
Esta API funciona junto com Transformador e. TransformerRuleList APIs. Juntas, essas APIs transformam nós XML ou qualquer entidade em um documento JSON estruturado em uma saída de pares nome-valor. Entidades JSON compatíveis, incluindo objetos e elementos em uma matriz, como cadeias de caracteres, números e outras matrizes.
. TransformerRuleList A API permite que você crie listas de regras de transformação que definem quais dados no documento de origem serão incluídos na saída e como transformar os dados de origem.
. TransformerDefinition A API associa uma lista de regras de transformação a um caminho de registro JSON/XML para definir objetos de definição de transformação reutilizáveis. Você pode usar um objeto de definição de transformação para transformar um ou mais documentos de origem.
Este objeto fornece métodos que permitem obter o caminho de registro do objeto TransformerDefinition. Também pode validar se a definição tem uma TransformerRuleList válida associada a ela.
. Transformador A API executa a transformação de dados real, uma entidade de dados por vez, usando a lista de regras de transformação especificada para criar os dados de saída desejados.
Você pode usar TransformerDefinition em scripts de servidor com escopo e global. Ao usar esta classe, use sn_tfrm identificador de namespace. Antes que esta API esteja disponível em uma instância, você deve ativar o plug-in do Serviço de transformação (com.glide.transform).
TransformerDefinition - TransformerDefinition(Object transformer RuleList, cadeia de caracteres recordPath)
Instancia um objeto TransformerDefinition.
| Nome | Tipo | Descrição |
|---|---|---|
| Transformer RuleList | Objeto | TransformerRuleList a ser associada a esta definição de transformador. |
| RecordPath | Cadeia de caracteres | Opcional. O caminho (JSONPath para JSON, XPath para XML) que identifica o contêiner (primário) dos nós a serem analisados como registros no documento de origem. Para documentos JSON, esses nós podem ser qualquer objeto, matriz ou JSON primitivo (cadeia de caracteres, número, booliano). Para documentos XML, esses nós são os elementos secundários do contêiner. Se recordPathnão especificado, todo o documento é inferido como um único registro. Para documentos JSON, se o nó superior for uma matriz e. recordPathnão especificado, a matriz superior é o contêiner do registro e cada uma de suas entradas é um registro. |
var stockAPI = new sn_ws.RESTMessageV2('Stock Details', 'Default GET');
var response = stockAPI.execute();
var responseBody = response.getBody();
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.addSymbol('ticker', 'quote.symbol')
.addSymbol('change_percentage', 'quote.change_change')
.thenMultiply('100')
.thenRoundDown('0')
.addSymbol('close_price', 'quote.close')
.thenAdaptCurrency('USD', false)
.addSymbol('summary')
.thenConcat('Shares of ')
.thenConcatSymbol('ticker')
.thenConcat(' closed at ')
.thenConcatSymbol('close');
var path = '$.*'; // Transform all objects in the JSON document
var transformerDefinition = new sn_tfrm.TransformerDefinition(transformerRuleList, recordPath);
var transformer = new sn_tfrm.Transformer(transformerDefinition, responseBody);
var results = [];
while (transformer.transform()) {
results.push(transformer.getRow());
}
TransformerDefinition - TransformerDefinition(cadeia de caracteres transformerDefinitionSysId)
Instancia um objeto TransformerDefinition usando uma definição de transformador existente.
| Nome | Tipo | Descrição |
|---|---|---|
| TransformerDefinitionSysId | Cadeia de caracteres | Sys_id de uma definição de transformador. Tabela: Transformador de registro [sys_record_transformer] |
Este exemplo instancia um objeto TransformerDefinition com base no sys_id fornecido.
var transformerDefinition = new sn_tfrm.TransformerDefinition("7208b59743542110d4dc2c78c9b8f2e2");
TransformerDefinition - recordPath()
Se definido quando o objeto TransformerDefinition foi instanciado, retornará o caminho do registro para o arquivo de dados de origem associado ao objeto TransformerDefinition.
Um caminho de registro (JSONPath para JSON, XPath para XML) identifica o contêiner (primário) dos nós a serem analisados como registros no documento de origem.
Para documentos JSON, esses nós podem ser qualquer objeto, matriz ou JSON primitivo (cadeia de caracteres, número, booliano). Para documentos XML, esses nós são os elementos secundários do contêiner.
Se recordPathnão especificado, todo o documento é inferido como um único registro. Para documentos JSON, se o nó superior for uma matriz e. recordPathnão especificado, a matriz superior é o contêiner do registro e cada uma de suas entradas é um registro.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Se definido, o caminho do registro associado à definição do transformador. Se não estiver definido, retornará nulo. |
var path = '$.records';
var transformerDefinition = new sn_tfrm.TransformerDefinition(transformerRuleList, recordPath);
var transformer = new sn_tfrm.Transformer(transformerDefinition, responseBody);
.
.
.
var recordPath = transformerDefinition.recordfPath();
var results = [];
while (transformer.transform()) {
results.push(transformer.getRow());
}
TransformerDefinition - Validate()
Valida se uma TransformerRuleList válida está associada ao objeto TransformerDefinition.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se uma TransformerRuleList válida está associada ao objeto TransformerDefinition especificado. Valores válidos:
|
var transformerDefinition = new sn_tfrm.TransformerDefinition(transformerRuleList, recordPath);
var transformer = new sn_tfrm.Transformer(transformerDefinition, responseBody);
.
.
.
if (transformerDefinition.validate()) {
var results = [];
while (transformer.transform()) {
results.push(transformer.getRow());
}
}