TransformerDefinition: Bereichsbezogen, Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Die TransformerDefinition Die API bietet Methoden zum Instanziieren und Verwalten des TransformerDefinition-Objekts, das eine Transformationsregelliste und einen Datensatzpfad verknüpft.

    Diese API funktioniert zusammen mit Umwandler Und TransformerRuleList APIs. Zusammen transformieren diese APIs XML-Knoten oder eine beliebige Entität in einem strukturierten JSON-Dokument in eine Ausgabe von Name-Wert-Paaren. Unterstützte JSON-Entitäten, einschließlich Objekten und Elementen in einem Array, z. B. Zeichenfolgen, Zahlen und andere Arrays.

    • Die TransformerRuleList Mit der API können Sie Transformationsregellisten erstellen, die definieren, welche Daten im Quelldokument in die Ausgabe aufgenommen werden sollen und wie die Quelldaten transformiert werden.

    • Die TransformerDefinition Die API ordnet eine Transformationsregelliste einem JSON/XML-Datensatzpfad zu, um wiederverwendbare Transformationsdefinitionsobjekte zu definieren. Sie können ein Transformationsdefinitionsobjekt verwenden, um ein oder mehrere Quelldokumente zu transformieren.

    Darüber hinaus stellt dieses Objekt Methoden bereit, mit denen Sie den Datensatzpfad des TransformerDefinition-Objekts abrufen können. Es kann auch validiert werden, ob der Definition eine gültige TransformerRuleList zugeordnet ist.

    Die Umwandler Die API führt die tatsächliche Datentransformation durch, jeweils eine Datenentität, und verwendet die angegebene Transformationsregelliste, um die gewünschten Ausgabedaten zu erstellen.

    Sie können verwenden TransformerDefinition Klasse in bereichsbezogenen und globalen Serverskripts. Wenn Sie diese Klasse verwenden, verwenden Sie sn_tfrm Namespace-Bezeichner. Bevor diese API in einer Instanz verfügbar ist, müssen Sie außerdem das Plugin „Transformationsservice“ (com.Glide.transform) aktivieren.

    TransformerDefinition: TransformerDefinition(Object transformerRuleList, Zeichenfolgen-Datensatz-Pfad)

    Instanziiert ein TransformerDefinition-Objekt.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    TransformerRuleList Objekt TransformerRuleList, die dieser Transformatordefinition zugeordnet werden soll.
    Record-Pfad Zeichenfolge

    Optional. Der Pfad (JSONPath für JSON, XPath für XML), der den Container (übergeordnetes Element) von Knoten identifiziert, die als Datensätze im Quelldokument analysiert werden sollen.

    Bei JSON-Dokumenten können diese Knoten ein beliebiges Objekt, Array oder JSON-Grundelement (Zeichenfolge, Zahl, boolescher Wert) sein. Bei XML-Dokumenten sind diese Knoten die untergeordneten Elemente des Containers.

    Wenn recordPathIst nicht angegeben, das gesamte Dokument wird als einzelner Datensatz abgeleitet. Für JSON-Dokumente, wenn der oberste Knoten ein Array und ist recordPathIst nicht angegeben, ist das oberste Array der Container des Datensatzes, und jeder seiner Einträge ist ein Datensatz.

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

    Instanziiert ein TransformerDefinition-Objekt mithilfe einer vorhandenen Transformatordefinition.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    TransformerDefinitionSysId Zeichenfolge SYS_ID einer Transformatordefinition.

    Tabelle: Datensatzumwandler [sys_Record_Transformer]

    In diesem Beispiel wird ein TransformerDefinition-Objekt basierend auf der angegebenen sys_ID instanziiert

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

    TransformerDefinition – recordPath()

    Wenn festgelegt, als das TransformerDefinition-Objekt instanziiert wurde, wird der Datensatzpfad für die Quelldatendatei zurückgegeben, die dem TransformerDefinition-Objekt zugeordnet ist.

    Ein Datensatzpfad (JSONPath für JSON, XPath für XML) identifiziert den Container (übergeordnet) von Knoten, die als Datensätze im Quelldokument analysiert werden sollen.

    Bei JSON-Dokumenten können diese Knoten ein beliebiges Objekt, Array oder JSON-Grundelement (Zeichenfolge, Zahl, boolescher Wert) sein. Bei XML-Dokumenten sind diese Knoten die untergeordneten Elemente des Containers.

    Wenn recordPathIst nicht angegeben, das gesamte Dokument wird als einzelner Datensatz abgeleitet. Für JSON-Dokumente, wenn der oberste Knoten ein Array und ist recordPathIst nicht angegeben, ist das oberste Array der Container des Datensatzes, und jeder seiner Einträge ist ein Datensatz.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Wenn festgelegt, der Datensatzpfad, der der Transformatordefinition zugeordnet ist. Wenn nicht festgelegt, wird Null zurückgegeben.
    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 – validieren()

    Validiert, ob dem TransformerDefintion-Objekt eine gültige TransformerRuleList zugeordnet ist.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob dem angegebenen TransformerDefintion-Objekt eine gültige TransformerRuleList zugeordnet ist.

    Gültige Werte:

    • Wahr: Gültige TransformerRuleList zugeordnet
    • Falsch: Ungültig oder keine TransformerRulList zugeordnet
    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());
      }
    }