TransformerDefinition : incluse dans le périmètre, globale

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 3 minutes de lecture
  • L’API TransformerDefinition fournit des méthodes pour instancier et gérer l’objet TransformerDefinition, qui associe une liste de règles de transformation et un chemin d’accès à l’enregistrement.

    Cette API fonctionne avec les API Transformer et TransformerRuleList . Ensemble, ces API transforment les nœuds XML ou toute entité d’un document JSON structuré en une sortie de paires nom-valeur. Entités JSON prises en charge, y compris les objets et les éléments d’un tableau, tels que les chaînes, les nombres et autres tableaux.

    • L’API TransformerRuleList vous permet de créer des listes de règles de transformation qui définissent les données du document source à inclure dans la sortie et la manière de transformer les données sources.

    • L’API TransformerDefinition associe une liste de règles de transformation à un chemin d’enregistrement JSON/XML pour définir des objets de définition de transformation réutilisables. Vous pouvez utiliser un objet de définition de transformation pour transformer un ou plusieurs documents sources.

    En outre, cet objet fournit des méthodes qui vous permettent d’obtenir le chemin d’accès à l’enregistrement de l’objet TransformerDefinition. Cela peut également valider si la définition a une liste TransformerRuleList valide qui lui est associée.

    L’API Transformer effectue la transformation des données réelles, une entité de données à la fois, à l’aide de la liste de règles de transformation spécifiée pour créer les données de sortie souhaitées.

    Vous pouvez utiliser la classe TransformerDefinition dans les scripts serveur inclus dans le champ d’application et dans les scripts serveur global. Lorsque vous utilisez cette classe, utilisez l’identificateur d’espace de noms sn_tfrm. De plus, avant que cette API ne soit disponible dans une instance, vous devez activer le module d’extension Service de transformation (com.glide.transform).

    TransformerDefinition : TransformerDefinition(Objet transformerRuleList, chaîne recordPath)

    Instancie un objet TransformerDefinition.

    Tableau 1. Paramètres
    Nom Type Description
    transformerRuleList Objet TransformerRuleList à associer à cette définition de transformateur.
    chemin d’enregistrement Chaîne

    Facultatif. Chemin d’accès (JSONPath pour JSON, XPath pour XML) qui identifie le conteneur (parent) des nœuds à analyser en tant qu’enregistrements dans le document source.

    Pour les documents JSON, ces nœuds peuvent être n’importe quel objet, tableau ou primitive JSON (chaîne, nombre, booléen). Pour les documents XML, ces nœuds sont les éléments enfants du conteneur.

    S’il recordPath n’est pas spécifié, l’ensemble du document est déduit en tant qu’enregistrement unique. Pour les documents JSON, si le nœud supérieur est un tableau et recordPath n’est pas spécifié, le tableau supérieur est le conteneur de l’enregistrement et chacune de ses entrées est un enregistrement.

    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(String transformerDefinitionSysId)

    Instancie un objet TransformerDefinition à l’aide d’une définition de transformateur existante.

    Tableau 2. Paramètres
    Nom Type Description
    transformerDefinitionSysId Chaîne Sys_id d’une définition de transformateur.

    Table : Transformateur de l’enregistrement [sys_record_transformer]

    Cet exemple instancie un objet TransformerDefinition en fonction de la sys_id fournie.

    var transformerDefinition = new sn_tfrm.TransformerDefinition("7208b59743542110d4dc2c78c9b8f2e2");

    TransformerDefinition : recordPath()

    Si la valeur est définie lorsque l’objet TransformerDefinition a été instancié, renvoie le chemin d’accès de l’enregistrement du fichier de données source associé à l’objet TransformerDefinition.

    Un chemin d’accès d’enregistrement (JSONPath pour JSON, XPath pour XML) identifie le conteneur (parent) de nœuds à analyser en tant qu’enregistrements dans le document source.

    Pour les documents JSON, ces nœuds peuvent être n’importe quel objet, tableau ou primitive JSON (chaîne, nombre, booléen). Pour les documents XML, ces nœuds sont les éléments enfants du conteneur.

    S’il recordPath n’est pas spécifié, l’ensemble du document est déduit en tant qu’enregistrement unique. Pour les documents JSON, si le nœud supérieur est un tableau et recordPath n’est pas spécifié, le tableau supérieur est le conteneur de l’enregistrement et chacune de ses entrées est un enregistrement.

    Tableau 3. Paramètres
    Nom Type Description
    Néant
    Tableau 4. Renvoie
    Type Description
    Chaîne S’il est défini, le chemin d’accès de l’enregistrement associé à la définition du transformateur. Si non défini, renvoie null.
    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()

    Valide si une TransformerRuleList valide est associée à l’objet TransformerDefinition.

    Tableau 5. Paramètres
    Nom Type Description
    Néant
    Tableau 6. Renvoie
    Type Description
    Booléen Marqueur indiquant si une TransformerRuleList valide est associée à l’objet TransformerDefintion spécifié.

    Valeurs valides :

    • vrai : TransformerRuleList valide associé
    • false : TransformerRulList non valide ou non associé
    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());
      }
    }