TransformerRuleList : dans le champ d’application, global
L’API TransformerRuleList vous permet de créer une liste de règles pour la transformation de différents types de données JSON et XML en sortie de paire nom-valeur.
Cette API fonctionne avec les API Transformer et TransformerDefinition . 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.
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.
Lorsque vous instanciez l’objet TransformRuleList, vous devez définir s’il décrit un document source JSON ou XML à l’aide des méthodes .fromJSON() ou .fromXML(). Par exemple :
var trl = sn_tfrm. TransformerRuleList().fromJSON() ; ou var trl = sn_tfrm. TransformerRuleList().fromXML() ;
Utilisez ensuite la méthode addRule() pour définir une règle de transformation pour chaque élément du document source que vous souhaitez inclure comme paire nom-valeur dans la sortie.
- Concaténer le texte.
- Exécuter des fonctions mathématiques, telles que additionner, soustraire, diviser et multiplier.
- Arrondissez les valeurs à la hausse ou à la baisse (arrondir à la hausse/à la baisse, plafond/plancher).
- Définissez s’il faut utiliser la valeur minimale ou maximale lors de la comparaison d’un élément de données source à une valeur spécifiée.
- Appliquez un code de devise.
- Convertissez entre différentes unités de mesure.
- Éléments de données de format.
- Appliquer des schémas.
- Remplacez les éléments de données spécifiés par une valeur spécifiée.
- Diviser et réorganiser les chaînes.
Vous pouvez utiliser la classe TransformerRuleList dans les scripts de serveur à portée et globale. Lors de l’utilisation de cette classe dans une application incluse dans le périmètre, utilisez l’identificateur de l’espace de noms sn_tfrm . De plus, avant que cette API soit disponible dans une instance, vous devez activer le module d’extension Service de transformation (com.glide.transform).
TransformerRuleList : addRule(règle de chaîne, chemin d’accès de la chaîne)
Crée une entrée dans la liste des règles de transformation associées qui définit un champ à créer dans la sortie.
Vous pouvez créer des règles pour n’importe quel élément d’un document source. Par exemple, .addRule('ticker', '$.quote.symbol') crée le champ « ticker » dans la sortie et copie la valeur dans quote.symbol de la source.
Une fois que vous avez défini une règle à l’aide d’addRule(), vous utilisez des méthodes d’adaptateur, telles que thenAdd(),thenReplace() et thenFloor() pour manipuler les données de sortie de la règle. Vous pouvez définir autant de méthodes d’adaptateur que nécessaire pour une seule règle. Toutes les méthodes d’adaptateur directement après un appel addRule(), jusqu’au prochain appel addRule(), s’appliquent à cette règle. Les méthodes d’adaptateur sont cumulatives, le résultat de toutes les méthodes d’adaptateur étant la valeur finale enregistrée dans le champ de sortie.
Par exemple, dans l’extrait de code suivant, thenMultiply() et thenRoundDown()s’appliquent à addRule('change_percentage', '$.quote.changePercent') ; addRule('close_price', '$.quote.close') lance une nouvelle règle. Si la valeur dans $.quote.changePercent est .011, alors la valeur de sortie finale est « 1 » ( .011 * 100 arrondi à la position inférieure).
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close') La méthode addRule() supporte également le paramètre summary; .addRule('résumé'). Cette implémentation crée le champ de nom « summary : » dans la sortie, mais ne le corrèle à aucun champ de la source. Vous pouvez ensuite utiliser les méthodes d’adaptateur thenConcat() et thenConcatSymbol() pour modifier le contenu du champ de résumé.
| Nom | Type | Description |
|---|---|---|
| règle | Chaîne | Nom de l’élément dans la sortie de destination. |
| chemin d'accès | Chaîne | Facultatif. JSONPath ou XPath vers l’élément de données dans le document source. Les méthodes d’adaptateur thenConcat() et thenConcatSymbol() ne nécessitent pas que vous définissiez ce paramètre si aucune autre méthode d’adaptateur n’est définie pour la règle. Toutes les autres méthodes d’adaptateur nécessitent ce paramètre. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : setName(nom de chaîne)
Définit un nom pour l’objet TransformerRuleList associé à des fins de journalisation.
| Nom | Type | Description |
|---|---|---|
| nom | Chaîne | Nom à utiliser pour identifier l’objet TransformerRuleList associé. Bien que l’API ne force pas ce nom à être unique, il est utile qu’il soit unique au sein d’une instance. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenAdaptCurrency(String currencyCode, booléen outputNumericCurrencyValue)
Ajoute un adaptateur à la règle actuelle qui lie le code de devise spécifié au champ de sortie défini dans l’appel addRule() associé.
| Nom | Type | Description |
|---|---|---|
| currencyCode | Chaîne | Code de devise à lier à l’élément de données de destination, tel que USD, EUR et GBP. |
| outputNumericCurrencyValue | Booléen | Facultatif. Marqueur indiquant s’il faut afficher le code de devise. Valeurs valides :
Valeur par défaut : false |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenAdaptDuration(String inputDuration, String outputDuration)
Ajoute un adaptateur à la règle actuelle qui convertit le champ source d’une unité de mesure à une autre, par exemple de minutes en secondes ou de semaines en jours.
| Nom | Type | Description |
|---|---|---|
| inputDuration | Chaîne | Unité de mesure actuelle du champ source. Valeurs valides :
|
| Durée de sortie | Chaîne | Unité de mesure en laquelle convertir le champ source dans la sortie. Valeurs valides :
|
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenAdd(opérande numérique)
Ajoute un adaptateur à la règle actuelle qui ajoute la valeur transmise au champ source.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Valeur à ajouter au champ source. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenApplyMap(Carte d’objet)
Ajoute un adaptateur à la règle actuelle qui recherche une liste de chaînes dans le champ source associé et les remplace dans la sortie par les valeurs de remplacement spécifiées.
| Nom | Type | Description |
|---|---|---|
| carte | Objet | Paires nom/valeur.
|
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
Dans cet exemple, l’appel thenApplyMap() recherche le texte source dans le champ company_info pour Inc. et St. et les remplace par Incorporated et Street dans le champ company_info dans la sortie.
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'});
TransformerRuleList : thenApplyPattern(String matchPattern, String outputPattern
Ajoute un adaptateur à la règle actuelle qui fait correspondre un modèle regex spécifié au contenu du champ source, puis remplace/reformate ce contenu par un deuxième modèle regex et stocke cette valeur dans la sortie.
| Nom | Type | Description |
|---|---|---|
| MatchPattern | Chaîne | Modèle regex à utiliser pour localiser le texte à remplacer/reformater. |
| Modèle de sortie | Chaîne | Modèle regex à utiliser pour mettre à jour le texte localisé. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
Dans cet exemple, tout nom de société qui se termine par « Inc. » est transformé en « Incorporated », de sorte que Company Inc. to Company Incorporated.
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');
TransformerRuleList : thenCeiling(opérande numérique)
Ajoute une action à la règle actuelle pour arrondir le champ source à la position décimale supérieure spécifiée par la valeur transmise.
Contrairement à l’arrondi droit où le nombre est arrondi en fonction de la valeur du chiffre dans la position décimale spécifiée (0-4 arrondir à la baisse, 5-9 arrondir à la hausse), le plafond arrondit toujours à la hausse. Par exemple, la valeur plafond pour 2,156 et 2,152 est toujours de 2,16 pour la décimale de passage de 2 ; tandis que pour l’arrondi direct, les valeurs seraient respectivement de 2,16 et 2,15. Pour les nombres négatifs, l’opération de plafond rend le nombre plus positif, car la valeur plafond de -2,156 est de -2,15 ; alors que le même nombre arrondi à l’entier supérieur rend la valeur plus négative, -2,16.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Position décimale à droite de la décimale à laquelle arrondir le nombre (appliquer le plafond). Par exemple, si cette valeur est 2 et que l’élément de données source est 6,421, la valeur résultante est 6,43. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenConcat(valeur de chaîne)
Ajoute un adaptateur à la règle actuelle qui concatène la chaîne transmise au champ de sortie.
Contrairement à d’autres méthodes d’adaptateur, cette méthode n’a pas besoin d’être appliquée à un champ source. Vous pouvez utiliser cette méthode pour créer des chaînes de données entièrement nouvelles dans la sortie.
| Nom | Type | Description |
|---|---|---|
| valide | Chaîne | Texte à concaténer à la fin de l’élément de données actuel. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenConcatSymbol(symbole de chaîne)
Ajoute un adaptateur à la règle actuelle qui concatène la valeur d’un champ précédemment défini dans la liste de règles au champ de sortie actuel.
| Nom | Type | Description |
|---|---|---|
| symbole | Chaîne | Nom de l’élément de liste de règles à ajouter au champ de sortie. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenDivideBy(opérande numérique)
Ajoute un adaptateur à la règle actuelle qui divise le champ source par la valeur transmise.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Valeur par laquelle diviser le champ source. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenDivideInto(opérande numérique)
Ajoute un adaptateur à la règle actuelle qui divise la valeur transmise par le champ source.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Valeur dans laquelle diviser le champ source. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenFloor(opérande numérique)
Ajoute un adaptateur à la règle actuelle qui arrondit le champ source à la position décimale inférieure spécifiée par la valeur transmise et le stocke dans la sortie.
Contrairement à l’arrondi direct où le nombre est arrondi en fonction de la valeur du chiffre dans la position décimale spécifiée (0-4 arrondir à l’inférieur, 5-9 arrondir à l’entier supérieur), l’étage arrondit toujours à l’inférieur. Par exemple, la valeur plancher pour 2,156 et 2,152 est toujours de 2,15 pour la décimale réussie de 2 ; tandis que pour l’arrondi direct, les valeurs seraient respectivement de 2,16 et 2,15. Pour les nombres négatifs, l’opération d’étage rend le nombre plus négatif, car la valeur plancher de -2,156 est -2,16 ; alors que le même nombre arrondi à l’inférieur rend la valeur plus positive, -2,15.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Position décimale à droite de la virgule à laquelle arrondir le nombre inférieur (appliquer l’étage). Par exemple, si cette valeur est 2 et que l’élément de données source est 6,427, la valeur résultante est 6,42. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenFormat(String matchPattern, String outputPattern)
Ajoute un adaptateur à la règle actuelle qui reformate le contenu dans le champ source correspondant au modèle de correspondance spécifié, avec le modèle de sortie spécifié.
| Nom | Type | Description |
|---|---|---|
| MatchPattern | Chaîne | Modèle à mettre en correspondance avec le champ source. Valeurs valides :
|
| Modèle de sortie | Chaîne | Modèle par lequel remplacer le contenu dans la sortie. Valeurs valides :
|
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
Cet exemple reformate la date du devis de AAAA/MM/JJ à AAAA, MM-JJ.
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('####/##/##', '#### ##-##');
TransformerRuleList : thenMax(opérande numérique)
Ajoute un adaptateur à la règle actuelle qui compare la valeur transmise au champ source et copie la plus élevée des deux valeurs dans le champ de sortie.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Valeur à comparer au champ source. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenMin(opérande numérique)
Ajoute un adaptateur à la règle actuelle qui compare la valeur transmise au champ source et copie la plus faible des deux valeurs dans le champ de sortie.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Valeur à comparer au champ source. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList - thenMultiply(Opérande numérique)
Ajoute un adaptateur à la règle actuelle qui multiplie le champ source par la valeur transmise.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Valeur par laquelle multiplier le champ source. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenReplace(String matchString, String replaceString)
Ajoute un adaptateur à la règle actuelle qui trouve tout le texte dans le champ source correspondant à une chaîne spécifiée et le remplace par une chaîne mise à jour.
| Nom | Type | Description |
|---|---|---|
| chaînematch | Chaîne | Chaîne à mettre en correspondance avec le champ source pour identifier le texte à remplacer. |
| Chaîne de remplacement | Chaîne | Chaîne par laquelle remplacer le texte correspondant. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
Dans cet exemple, tout nom de société qui se termine par « Inc. » est transformé en « Incorporated », de sorte que Company Inc. to Company Incorporated.
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');
TransformerRuleList : thenRoundDown(opérande numérique)
Ajoute un adaptateur à la règle actuelle qui arrondit le champ source à la position décimale inférieure spécifiée par la valeur transmise.
Pour les nombres négatifs, la méthode thenRoundDown() rend le nombre plus positif ; La valeur arrondie à la baisse de -2,156 est de -2,15. La méthode thenFloor() rend le même nombre plus négatif, -2,16.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Position décimale à droite de la virgule à laquelle arrondir le nombre inférieur. Par exemple, si cette valeur est 2 et que l’élément de données source est 6,427, la valeur résultante est 6,42. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenRoundUp(opérande numérique)
Ajoute un adaptateur à la règle actuelle qui arrondit l’élément de données source à la position décimale supérieure spécifiée par la valeur transmise.
Pour les nombres négatifs, la méthode thenRoundUp() rend le nombre plus négatif ; La valeur arrondie à la hausse de -2,156 est de -2,16. La méthode thenCeiling() rend le même nombre plus positif, -2,15.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Position décimale à droite de la virgule à laquelle arrondir le nombre. Par exemple, si cette valeur est 2 et que l’élément de données source est 6,422, la valeur résultante est 6,43. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');
TransformerRuleList : thenSplit(String splitPattern, String replaceString)
Ajoute un adaptateur à la règle actuelle qui fractionne, réorganise et remplace les chaînes dans le champ source et les enregistre dans le champ de sortie.
Le splitPattern paramètre indique comment diviser la chaîne de texte source en segments. Ce paramètre peut être un séparateur de mots typique tel qu’un espace (' '), une virgule (',') ou un point-virgule (';') , et peut également être n’importe quelle chaîne, telle que 'name'. Par exemple, si le texte source est « Smith John Michael » et que le splitPattern est un espace, alors les segments disponibles sont « Smith », « John » et « Michael ». Pour référencer un segment, utilisez $#, où # est le numéro de l’ordre du segment dans la chaîne de texte source. Par exemple, si l’appel de méthode est thenSplit(' ', '$2 $3 $1'), alors la sortie est « John Michael Smith ». En outre, vous pouvez ajouter des constantes dans le modèle de sortie, telles que thenSplit(' ', 'Prénom : $2 Deuxième prénom : $3 Nom de famille : $1').
| Nom | Type | Description |
|---|---|---|
| modèle divisé | Chaîne | Chaîne qui indique comment diviser le texte en segments. |
| Chaîne de remplacement | Chaîne | Chaîne qui définit la chaîne de sortie, y compris les références et les constantes de segment. Il n’est pas nécessaire de référencer tous les segments. Faites référence aux segments définis à l’aide splitPattern de $#, où # est le nombre de l’ordre du segment dans l’élément de données source. Référencez l’ensemble de l’élément de données source à l’aide de $0. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
Dans cet exemple, le nom du PDG est nom, prénom dans les données sources et dans la sortie, il sera transformé en prénom nom.
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');
TransformerRuleList : thenSubtract(opérande numérique)
Ajoute un adaptateur à la règle actuelle qui soustrait la valeur transmise du champ source et la stocke dans le champ de sortie.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Valeur à soustraire de l’élément de données source. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList de courant. |
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');