TransformerDefinition - Com escopo, Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 3 min. de leitura
  • . 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.

    Tabela 1. Parâmetros
    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.

    Tabela 2. Parâmetros
    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.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 4. Retorna
    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.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 6. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se uma TransformerRuleList válida está associada ao objeto TransformerDefinition especificado.

    Valores válidos:

    • TransformerRuleList válida associada
    • Inválido ou nenhuma TransformerRulList associada
    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());
      }
    }