Transformatorregelliste: Bereichsbezogen, global
Mit der Transformatorregelliste -API können Sie eine Liste von Regeln für die Umwandlung verschiedener Arten von JSON- und XML-Daten in eine Name-Wert-Paarausgabe erstellen.
Diese API arbeitet mit den APIs „Transformer“ und „TransformerDefinition“ zusammen. Zusammen wandeln diese APIs XML-Knoten oder eine beliebige Entität in einem strukturierten JSON-Dokument in eine Ausgabe von Name-Wert-Paaren um. Unterstützte JSON-Entitäten einschließlich Objekten und Elementen in einem Array, z. B. Zeichenfolgen, Zahlen und andere Arrays.
Mit der Transformatorregelliste -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 Transformatordefinitions- 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 umzuwandeln.
Die Transformator -API führt die eigentliche Datentransformation für eine Datenentität nach der anderen durch und verwendet dabei die angegebene Transformationsregelliste, um die gewünschten Ausgabedaten zu erstellen.
Wenn Sie das TransformRuleList-Objekt instanziieren, müssen Sie mit den Methoden .fromJSON() oder .fromXML() festlegen, ob es ein JSON- oder XML-Quelldokument beschreibt. Zum Beispiel:
var Trl = sn_tfrm.TransformerRuleList().fromJSON(); oder var Trl = sn_tfrm.TransformerRuleList().fromXML();
Verwenden Sie dann die Methode addRule(), um eine Transformationsregel für jedes Element im Quelldokument zu definieren, das Sie als Name-Wert-Paar in die Ausgabe aufnehmen möchten.
- Text verketten.
- Führen Sie mathematische Funktionen aus, z. B. Addieren, Subtrahieren, Teilen und Multiplizieren.
- Runden Sie die Werte auf oder ab (aufrunden/abrunden, Obergrenze/Boden).
- Legen Sie fest, ob beim Vergleich eines Quelldatenelements mit einem angegebenen Wert der Mindest- oder Höchstwert verwendet werden soll.
- Wenden Sie einen Währungscode an.
- Konvertierung zwischen verschiedenen Maßeinheiten.
- Formatieren Sie Datenelemente.
- Wenden Sie Muster an.
- Ersetzen Sie die angegebenen Datenelemente durch einen angegebenen Wert.
- Zeichenfolgen aufteilen und neu anordnen.
Sie können die Klasse „TransformerRuleList“ sowohl in bereichsbezogenen als auch in globalen Serverskripten verwenden. Wenn Sie diese Klasse in einer bereichsbezogenen Anwendung verwenden, verwenden Sie den Namespace-Bezeichner sn_tfrm. Bevor diese API in einer Instanz verfügbar ist, müssen Sie außerdem das Plugin „Transformation Service“ (com.glide.transform) aktivieren.
TransformatorRuleList: addRule(Zeichenfolgenregel, Zeichenfolgenpfad)
Erstellt einen Eintrag in der zugehörigen Liste der Transformationsregeln, der ein Feld definiert, das in der Ausgabe erstellt werden soll.
Sie können Regeln für jedes Element in einem Quelldokument erstellen. Beispiel: .addRule('ticker', '$.quote.symbol') erstellt das Feld „ticker“ in der Ausgabe und kopiert den Wert in Quote.symbol der Quelle.
Sobald Sie eine Regel mit addRule()definiert haben, verwenden Sie Adaptermethoden wierenAdd(), dannReplace()und dannFloor(), um die Ausgabedaten der Regel zu bearbeiten. Sie können für eine einzelne Regel beliebig viele Adaptermethoden definieren. Alle Adaptermethoden direkt nach einem Aufruf von addRule() gelten bis zum nächsten Aufruf von addRule() für diese Regel. Adaptermethoden sind kumulativ, wobei das Ergebnis aller Adaptermethoden der endgültige Wert ist, der im Ausgabefeld gespeichert wird.
Beispielsweise gelten im folgenden Codeausschnitt dann Multiply() und dannRoundDown() für addRule('change_percentage', '$.quote.changePercent'); addRule('close_Price', '$.quote.close') startet eine neue Regel. Wenn der Wert in $.quote.changePercent.011 ist, ist der endgültige Ausgabewert „1“ ( .011 * 100 abgerundet auf die Einerstelle).
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close') Die Methode addRule() unterstützt auch den Parameter summary; .addRule('summary'). Diese Implementierung erstellt das Namensfeld „Zusammenfassung:“ in der Ausgabe, korreliert es jedoch nicht mit einem Feld in der Quelle. Anschließend können Sie mit den AdaptermethodenthenConcat ()undthenConcatSymbol() den Inhalt des Zusammenfassungsfelds ändern.
| Name | Typ | Beschreibung |
|---|---|---|
| Regel | Zeichenfolge | Name des Elements in der Zielausgabe. |
| path | Zeichenfolge | Optional. JSONPath oder XPath zum Datenelement im Quelldokument. Für die AdaptermethodenthenConcat () und dannConcatSymbol() müssen Sie diesen Parameter nicht definieren, wenn keine anderen Adaptermethoden für die Regel definiert sind. Alle anderen Adaptermethoden erfordern diesen Parameter. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('summary')
.thenConcat('Shares of ')
.thenConcatSymbol('ticker')
.thenConcat(' closed at ')
.thenConcatSymbol('close_price');
Transformatorregelliste - setName(String name)
Definiert einen Namen für das zugeordnete TransformerRuleList-Objekt zu Protokollierungszwecken.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Name, der zur Identifizierung des zugeordneten Objekts „TransformRuleList“ verwendet werden soll. Obwohl die API die Eindeutigkeit dieses Namens nicht erzwingt, ist es hilfreich, wenn er innerhalb einer Instanz eindeutig ist. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('summary')
.thenConcat('Shares of ')
.thenConcatSymbol('ticker')
.thenConcat(' closed at ')
.thenConcatSymbol('close_price');
Transformatorregelliste -thenAdaptCurrency(Zeichenfolge currencyCode, boolesche AusgabeNumericCurrencyValue)
Fügt der aktuellen Regel einen Adapter hinzu, der den angegebenen Währungscode an das Ausgabefeld bindet, das im zugehörigen addRule()- Aufruf definiert ist.
| Name | Typ | Beschreibung |
|---|---|---|
| currencyCode | Zeichenfolge | Währungscode für die Verknüpfung mit dem Zieldatenelement, z. B. USD, EUR und GBP. |
| ausgabeNumericCurrencyValue | Boolean | Optional. Kennzeichnung, die angibt, ob der Währungscode angezeigt werden soll. Gültige Werte:
Standardwert: false |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('summary')
.thenConcat('Shares of ')
.thenConcatSymbol('ticker')
.thenConcat(' closed at ')
.thenConcatSymbol('close_price');
Transformatorregelliste -thenAdaptDuration(String inputDuration, String outputDuration)
Fügt der aktuellen Regel einen Adapter hinzu, der das Quellfeld von einer Maßeinheit in eine andere konvertiert, z. B. von Minuten in Sekunden oder Wochen in Tage.
| Name | Typ | Beschreibung |
|---|---|---|
| inputDauer | Zeichenfolge | Aktuelle Maßeinheit des Quellfelds. Gültige Werte:
|
| Ausgabedauer | Zeichenfolge | Maßeinheit, in die das Quellfeld in der Ausgabe konvertiert werden soll. Gültige Werte:
|
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('daily', '$.quote.weekly')
.thenAdaptDuration('WEEK', 'DAY');
TransformatorRuleList -thenAdd(Number operand)
Fügt der aktuellen Regel einen Adapter hinzu, der den übergebenen Wert zum Quellfeld hinzufügt.
| Name | Typ | Beschreibung |
|---|---|---|
| Operand | Nummer | Wert, der dem Quellfeld hinzugefügt werden soll. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList.fromJSON()
.setName('Stock Report 05182019 JSON')
.addSymbol('ticker', '$.symbol')
.addSymbol('change_percentage', '$.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addSymbol('trade_price', '$.current_price')
.thenAdaptCurrency('USD', false)
.addMultiply('$.trade_quantity')
.thenAdd('4.5');
TransformatorRuleList –thenApplyMap(Objektzuordnung)
Fügt der aktuellen Regel einen Adapter hinzu, der das zugeordnete Quellfeld nach einer Liste von Zeichenfolgen durchsucht und diese in der Ausgabe durch die angegebenen Ersatzwerte ersetzt.
| Name | Typ | Beschreibung |
|---|---|---|
| Zuordnen | Objekt | Name/Wert-Paare.
|
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
In diesem Beispiel durchsucht der Aufruf vonthenApplyMap() den Quelltext im Feld „company_info“ nach Inc. und St. und ersetzt sie durch „Incorporated“ und „Street“ im Feld „company_info“ in der Ausgabe.
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('company_info', '$.quote.company_info')
.thenApplyMap({'Inc.': 'Incorporated', 'St.': 'Street'});
Transformatorregelliste -thenApplyPattern(StringmatchPattern, ZeichenfolgeoutputPattern
Fügt der aktuellen Regel einen Adapter hinzu, der ein bestimmtes Muster für reguläre Ausdrücke mit dem Inhalt im Quellfeld abgleicht. Ersetzt/formatiert diesen Inhalt dann durch ein zweites Muster für reguläre Ausdrücke und speichert diesen Wert in der Ausgabe.
| Name | Typ | Beschreibung |
|---|---|---|
| Übereinstimmendes Muster | Zeichenfolge | Muster für reguläre Ausdrücke, das zum Suchen des zu ersetzenden/neu zu formatierenden Texts verwendet wird. |
| Ausgabemuster | Zeichenfolge | Regex-Muster, das zum Aktualisieren des gefundenen Texts verwendet wird. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
In diesem Beispiel endet jeder Unternehmensname mit „Inc.“ wird in „Incorporated“ umgewandelt, z. B. „Compliance Inc.“ in „Compliance Inc.“.
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('company', '$.quote.company')
.thenApplyPattern('(.+)(\\w{3}\\.)', '$1Incorporated');
TransformatorRuleList –thenCeiling(Operand Nummer)
Fügt der aktuellen Regel eine Aktion hinzu, um das Quellfeld an der Dezimalstelle aufzurunden, die durch den übergebenen Wert angegeben wird.
Im Gegensatz zur geraden Rundung, bei der die Zahl basierend auf dem Wert der Ziffer an der angegebenen Dezimalstelle gerundet wird (0–4 abrunden, 5–9 aufrunden), rundet die Obergrenze immer auf. Beispielsweise ist der Oberwert für 2,156 und 2,152 für die an der Dezimalstelle übergebene 2 immer 2,16. während die Werte für gerade Rundung 2,16 bzw. 2,15 betragen. Bei negativen Zahlen wird die Zahl durch die Obergrenze positiver, da der Obergrenzewert von -2,156 -2,15 entspricht. während die gleiche aufgerundete Zahl den Wert negativer macht, -2,16.
| Name | Typ | Beschreibung |
|---|---|---|
| Operand | Nummer | Dezimalposition rechts neben dem Dezimalkomma, an dem die Zahl aufgerundet werden soll (Obergrenze anwenden). Wenn dieser Wert beispielsweise 2 ist und das Quelldatenelement 6,421 ist, lautet der resultierende Wert 6,43. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Mortgage Rates 05022019 JSON')
.addRule('interest_rate', '$.quote.interest_rate')
.thenCeiling('2') // Always round the interest rate up to the hundredths place
.addRule('monthly_payment', '$.quote.total_loan_amount')
.thenDivideBy('180');
Transformatorregelliste -thenConcat(String value)
Fügt der aktuellen Regel einen Adapter hinzu, der die übergebene Zeichenfolge mit dem Ausgabefeld verkettet.
Im Gegensatz zu anderen Adaptermethoden muss diese Methode nicht auf ein Quellfeld angewendet werden. Sie können diese Methode verwenden, um in der Ausgabe komplett neue Datenzeichenfolgen zu erstellen.
| Name | Typ | Beschreibung |
|---|---|---|
| Wert | Zeichenfolge | Text, der mit dem Ende des aktuellen Datenelements verkettet werden soll. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('summary')
.thenConcat('Shares of ')
.thenConcatSymbol('ticker')
.thenConcat(' closed at ')
.thenConcatSymbol('close_price');
Transformatorregelliste -thenConcatSymbol(Zeichenfolgensymbol)
Fügt der aktuellen Regel einen Adapter hinzu, der den Wert eines zuvor in der Regelliste definierten Felds mit dem aktuellen Ausgabefeld verkettet.
| Name | Typ | Beschreibung |
|---|---|---|
| symbol | Zeichenfolge | Name des Regellistenelements, das an das Ausgabefeld angehängt werden soll. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('summary')
.thenConcat('Shares of ')
.thenConcatSymbol('ticker')
.thenConcat(' closed at ')
.thenConcatSymbol('close_price');
Transformatorregelliste -thenDivideBy(Number operand)
Fügt der aktuellen Regel einen Adapter hinzu, der das Quellfeld durch den übergebenen Wert dividiert.
| Name | Typ | Beschreibung |
|---|---|---|
| Operand | Nummer | Wert, durch den das Quellfeld dividiert werden soll. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('dividend_per_share', '$.quote.total_dividend')
.thenDivideBy('$.quote.total_shares');
Transformatorregelliste -thenDivideInto(Number operand)
Fügt der aktuellen Regel einen Adapter hinzu, der den übergebenen Wert durch das Quellfeld dividiert.
| Name | Typ | Beschreibung |
|---|---|---|
| Operand | Nummer | Wert, in den das Quellfeld unterteilt werden soll. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('dividend_per_share', '$.quote.total_shares')
.thenDivideInto('$.quote.total_dividends');
Transformatorregelliste -thenFloor(Operand Nummer)
Fügt der aktuellen Regel einen Adapter hinzu, der das Quellfeld an der durch den übergebenen Wert angegebenen Dezimalstelle abrundet und in der Ausgabe speichert.
Im Gegensatz zur geraden Rundung, bei der die Zahl basierend auf dem Wert der Ziffer an der angegebenen Dezimalstelle gerundet wird (0–4 abrunden, 5–9 aufrunden), rundet die Untergrenze immer ab. Zum Beispiel ist der Stockwerkswert für 2,156 und 2,152 für die an der Dezimalstelle übergebene 2 immer 2,15; während die Werte für gerade Rundung 2,16 bzw. 2,15 betragen. Bei negativen Zahlen wird die Zahl durch den Stockwerksvorgang negativer, da der Stockwerkswert -2,156 gleich -2,16 ist. während die gleiche Zahl abgerundet den Wert positiver macht, -2,15.
| Name | Typ | Beschreibung |
|---|---|---|
| Operand | Nummer | Dezimalstelle rechts vom Dezimalpunkt, an dem die Zahl abgerundet werden soll (Stockwerk anwenden). Wenn dieser Wert beispielsweise 2 ist und das Quelldatenelement 6,427 ist, lautet der resultierende Wert 6,42. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Mortgage Rates 05022019 JSON')
.addRule('interest_rate', '$.quote.interest_rate')
.thenFloor('2') // Always round the interest rate down to the hundreths place
.addRule('monthly_payment', '$.quote.total_loan_amount')
.thenDivideBy('180');
Transformatorregelliste -thenFormat(Zeichenfolge-matchPattern, Zeichenfolgen-Ausgabemuster)
Fügt der aktuellen Regel einen Adapter hinzu, der den Inhalt im Quellfeld, das dem angegebenen Übereinstimmungsmuster entspricht, mit dem angegebenen Ausgabemuster neu formatiert.
| Name | Typ | Beschreibung |
|---|---|---|
| Übereinstimmendes Muster | Zeichenfolge | Mit dem Quellfeld abzugleichendes Muster. Gültige Werte:
|
| Ausgabemuster | Zeichenfolge | Muster, durch das der Inhalt in der Ausgabe ersetzt werden soll. Gültige Werte:
|
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
In diesem Beispiel wird das Angebotsdatum von JJJJ/MM/TT in JJJJ MM-TT umformatiert.
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('date', '$.quote.date')
.thenFormat('####/##/##', '#### ##-##');
Transformatorregelliste -thenMax(Number operand)
Fügt der aktuellen Regel einen Adapter hinzu, der den übergebenen Wert mit dem Quellfeld vergleicht und den größeren der beiden Werte in das Ausgabefeld kopiert.
| Name | Typ | Beschreibung |
|---|---|---|
| Operand | Nummer | Wert, der mit dem Quellfeld verglichen werden soll. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Mortgage Rates 05022019 JSON')
.addRule('lowest_interest_rate', '$.quote.interest_rate')
.thenMax('3.5') // Interest rate cannot be less than 3.5%
.addRule('dividend_per_share', '$.quote.total_shares')
.thenDivideInto('$.quote.total_dividends');
Transformatorregelliste -thenMin(Number operand)
Fügt der aktuellen Regel einen Adapter hinzu, der den übergebenen Wert mit dem Quellfeld vergleicht und den niedrigeren der beiden Werte in das Ausgabefeld kopiert.
| Name | Typ | Beschreibung |
|---|---|---|
| Operand | Nummer | Wert, der mit dem Quellfeld verglichen werden soll. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addSymbol('broker_fee_percentage', '$.quote.broker_fee')
.thenMin('10') // Maximum of 10% broker fee
.addSymbol('dividend_per_share', '$.quote.total_shares')
.thenDivideInto('$.quote.total_dividends');
Transformatorregelliste -thenMultiply(Number operand)
Fügt der aktuellen Regel einen Adapter hinzu, der das Quellfeld mit dem übergebenen Wert multipliziert.
| Name | Typ | Beschreibung |
|---|---|---|
| Operand | Nummer | Wert, mit dem das Quellfeld multipliziert werden soll. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('summary')
.thenConcat('Shares of ')
.thenConcatSymbol('ticker')
.thenConcat(' closed at ')
.thenConcatSymbol('close_price');
Transformatorregelliste -thenReplace(String entsprechenString, Zeichenfolge ersetzenString)
Fügt der aktuellen Regel einen Adapter hinzu, der den gesamten Text im Quellfeld findet, der einer angegebenen Zeichenfolge entspricht, und ihn durch eine aktualisierte Zeichenfolge ersetzt.
| Name | Typ | Beschreibung |
|---|---|---|
| Übereinstimmende Zeichenfolge | Zeichenfolge | Zeichenfolge, die mit dem Quellfeld abgeglichen werden soll, um den zu ersetzenden Text zu identifizieren. |
| Ersetzen Sie die Zeichenfolge | Zeichenfolge | Zeichenfolge, durch die der übereinstimmende Text ersetzt werden soll. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
In diesem Beispiel endet jeder Unternehmensname mit „Inc.“ wird in „Incorporated“ umgewandelt, z. B. „Compliance Inc.“ in „Compliance Inc.“.
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('company', '$.quote.company')
.thenReplace('Inc.', 'Incorporated');
Transformatorregelliste -thenRoundDown(Number operand)
Fügt der aktuellen Regel einen Adapter hinzu, der das Quellfeld an der Dezimalstelle abrundet, die durch den übergebenen Wert angegeben wird.
Bei negativen Zahlen erhöht die MethodethenRoundDown () die Zahl positiver. der Abrundungswert von -2,156 beträgt -2,15. Die MethodethenFloor () macht die gleiche Zahl negativer, -2,16.
| Name | Typ | Beschreibung |
|---|---|---|
| Operand | Nummer | Dezimalstelle rechts vom Dezimalpunkt, an dem die Zahl abgerundet werden soll. Wenn dieser Wert beispielsweise 2 ist und das Quelldatenelement 6,427 ist, lautet der resultierende Wert 6,42. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList90
.fromJSON()
.setName('Mortgage Rates 05022019 JSON')
.addRule('interest_rate', '$.quote.interest_rate')
.thenRoundDown('2') // Always round the interest rate down to the hundredths place
.addRule('monthly_payment', '$.quote.total_loan_amount')
.thenDivideBy('180');
Transformatorregelliste -thenRoundUp(Number operand)
Fügt der aktuellen Regel einen Adapter hinzu, der das Quelldatenelement an der Dezimalstelle aufrundet, die durch den übergebenen Wert angegeben wird.
Bei negativen Zahlen macht die MethodethenRoundUp() die Zahl negativer; der Aufrundungswert von -2,156 ist -2,16. Die MethodethenCeiling () macht die gleiche Zahl positiver, -2,15.
| Name | Typ | Beschreibung |
|---|---|---|
| Operand | Nummer | Dezimalstelle rechts vom Dezimalkomma, an dem die Zahl aufgerundet werden soll. Wenn dieser Wert beispielsweise 2 ist und das Quelldatenelement 6,422 ist, lautet der resultierende Wert 6,43. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Mortgage Rates 05022019 JSON')
.addRule('interest_rate', '$.quote.interest_rate')
.thenRoundUp('2') // Always round the interest rate up to the hundredths place
.addRule('monthly_payment', '$.quote.total_loan_amount')
.thenDivideBy('180');
Transformatorregelliste -thenSplit(String aufgeteiltPattern, Zeichenfolge ersetzenString)
Fügt der aktuellen Regel einen Adapter hinzu, der Zeichenfolgen im Quellfeld teilt, neu organisiert und ersetzt und im Ausgabefeld speichert.
Der Parameter splitPattern gibt an, wie die Quelltextzeichenfolge in Segmente unterteilt wird. Dieser Parameter kann ein typisches Worttrennzeichen sein, z. B. ein Leerzeichen (' '), ein Komma (',') oder ein Semikolon (';'), und kann auch eine beliebige Zeichenfolge sein, z. B. 'name'. Wenn der Quelltext beispielsweise „Smith JohnMichael“ lautet und splitPattern ein Leerzeichen ist, sind die Segmente „Smith“, „John“ und „Michael“ verfügbar. Um auf ein Segment zu verweisen, verwenden Sie $#, wobei # die Nummer der Reihenfolge des Segments in der Quelltextzeichenfolge ist. Wenn der Methodenaufruf beispielsweise „thenSplit(' ', '$2 $3 $1')“lautet, lautet die Ausgabe „JohnMichael Smith“. Darüber hinaus können Sie Konstanten innerhalb des Ausgabemusters hinzufügen, z. B.thenSplit(' ', 'Vorname: $2 Zweiter Vorname: $3 Nachname: $1').
| Name | Typ | Beschreibung |
|---|---|---|
| SplitPattern | Zeichenfolge | Zeichenfolge, die angibt, wie der Text in Segmente aufgeteilt wird. |
| Ersetzen Sie die Zeichenfolge | Zeichenfolge | Zeichenfolge, die die Ausgabezeichenfolge definiert, einschließlich Segmentreferenzen und Konstanten. Nicht auf alle Segmente muss verwiesen werden. Verweisen Sie mit $# auf die von splitPattern definierten Segmente, wobei # die Nummer der Reihenfolge des Segments im Quelldatenelement ist. Referenzieren Sie das gesamte Quelldatenelement mit $0. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
In diesem Beispiel ist der Name des CEO der Nachname, der Vorname in den Quelldaten und wird in der Ausgabe in den Vornamen und Nachnamen umgewandelt.
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock Report 05022019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('CEO', '$.quote.CEO')
.thenSplit(',', '$2 $1');
Transformatorregelliste -thenSubtract(Number operand)
Fügt der aktuellen Regel einen Adapter hinzu, der den übergebenen Wert aus dem Quellfeld subtrahiert und im Ausgabefeld speichert.
| Name | Typ | Beschreibung |
|---|---|---|
| Operand | Nummer | Wert, der vom Quelldatenelement abgezogen werden soll. |
| Typ | Beschreibung |
|---|---|
| Objekt | Aktuelles Transformatorregellisten-Objekt. |
var transformerRuleList = new sn_tfrm.TransformerRuleList()
.fromJSON()
.setName('Stock 05182019 JSON')
.addRule('ticker', '$.quote.symbol')
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close')
.thenAdaptCurrency('USD', false)
.addRule('trade_price', '$.quote.current_price')
.addMultiply('$.quote.trade_quantity')
.thenSubtract('$.quote.discount_dollars');