TransformerRuleList - Inclus, global
L’API TransformerRuleList vous permet de créer une liste de règles pour transformer 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 incluant des objets et des éléments dans un tableau, tels que des chaînes, des nombres et d’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 source.
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 source.
L’API Transformer effectue la transformation des données réelle, une entité de données à la fois, à l’aide de la liste des 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 sous forme de 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 vers le haut ou vers le bas (arrondir vers le haut/vers le bas, plafond/sol).
- 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.
- Appliquer un code de devise.
- Convertissez entre différentes unités de mesure.
- Formater les éléments de données.
- Appliquez des modèles.
- 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 inclus dans le périmètre et dans les scripts de serveur globaux. Lors de l’utilisation de cette classe dans une application incluse dans le périmètre, utilisez l’identificateur d’espace de noms sn_tfrm. En outre, avant que cette API ne soit disponible dans une instance, vous devez activer le module d’extension Transformation Service (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 de addRule(), vous utilisez ensuite des méthodes adaptatrices, 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’adaptation 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') commence 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 un).
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close') La méthode addRule() prend également en charge 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 adaptatrices thenConcat() et thenConcatSymbol() pour modifier le contenu du champ récapitulatif.
| 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 du 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 actuel. |
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 la chaîne)
Définit un nom pour l’objet TransformerRuleList associé à des fins de connexion.
| 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’ils soient uniques au sein d’une instance. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList actuel. |
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, Boolean 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 actuel. |
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 à secondes ou de semaines à jours.
| Nom | Type | Description |
|---|---|---|
| inputDuration (Durée d’entrée) | Chaîne | Unité de mesure actuelle du champ source. Valeurs valides :
|
| Durée de sortie | Chaîne | Unité de mesure vers laquelle convertir le champ source dans la sortie. Valeurs valides :
|
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList actuel. |
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 de numéro)
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 actuel. |
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’objets)
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 actuel. |
Dans cet exemple, l’appel thenApplyMap() recherche dans le texte source dans le champ company_info Inc. et St. et les remplace par Incorporated et Street dans le champ company_info de 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 de regex spécifié au contenu du champ source, puis remplace/reformate ce contenu avec un deuxième modèle de regex et stocke cette valeur dans la sortie.
| Nom | Type | Description |
|---|---|---|
| matchPattern (en anglais seulement) | Chaîne | Modèle regex à utiliser pour localiser le texte à remplacer/reformer. |
| Modèle de sortie | Chaîne | Modèle regex à utiliser pour mettre à jour le texte localisé. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList actuel. |
Dans cet exemple, tout nom de société qui se termine par « Inc. » est transformé en « Incorporé », par exemple Entreprise Inc. en Société incorporée.
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 rectiligne où le nombre est arrondi en fonction de la valeur du chiffre à la décimale spécifiée (0-4 arrondi à l’étage inférieur, 5-9 arrondi à l’entier), le plafond est toujours arrondi à l’entier supérieur. Par exemple, la valeur plafond pour 2,156 et 2,152 est toujours de 2,16 pour le passé en position décimale de 2 ; alors que pour l’arrondi droit, 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 dans la valeur plafond de -2,156 est -2,15 ; alors que le même nombre arrondi à l’unité supérieure rend la valeur plus négative, -2,16.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Position décimale à droite de la virgule 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 actuel. |
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, il n’est pas nécessaire d’appliquer cette méthode à un champ source. Vous pouvez utiliser cette méthode pour créer de toutes nouvelles chaînes de données 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 actuel. |
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 actuel. |
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 de numéro)
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 actuel. |
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 de numéro)
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 actuel. |
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 de numéro)
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 rectiligne où le nombre est arrondi en fonction de la valeur du chiffre dans la position décimale spécifiée (0-4 arrondi au niveau inférieur, 5-9 arrondi au niveau supérieur), le plancher est toujours arrondi au niveau inférieur. Par exemple, la valeur plancher pour 2,156 et 2,152 est toujours de 2,15 pour le passé en position décimale de 2 ; alors que pour l’arrondi droit, les valeurs seraient respectivement de 2,16 et 2,15. Pour les nombres négatifs, l’opération plancher rend le nombre plus négatif, car dans la valeur plancher de -2,156 est -2,16 ; alors que le même nombre arrondi à l’entier inférieur rend la valeur plus positive, -2,15.
| Nom | Type | Description |
|---|---|---|
| opérande | Numéro | Position décimale à droite de la virgule décimale à laquelle arrondir le nombre vers le bas (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 actuel. |
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 du champ source qui correspond au modèle de correspondance spécifié, avec le modèle de sortie spécifié.
| Nom | Type | Description |
|---|---|---|
| matchPattern (en anglais seulement) | 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 actuel. |
Cet exemple reformate la date de devis de AAAA/MM/JJ en 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 de numéro)
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 actuel. |
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 de numéro)
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 actuel. |
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 de numéro)
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 actuel. |
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 recherche tout le texte dans le champ source qui correspond à une chaîne spécifiée et le remplace par une chaîne mise à jour.
| Nom | Type | Description |
|---|---|---|
| matchString (en anglais seulement) | Chaîne | Chaîne à mettre en correspondance avec le champ source pour identifier le texte à remplacer. |
| replaceString (en anglais seulement) | Chaîne | Chaîne par laquelle remplacer le texte correspondant. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList actuel. |
Dans cet exemple, tout nom de société qui se termine par « Inc. » est transformé en « Incorporé », par exemple Entreprise Inc. en Société incorporée.
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 équivaut à -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 décimale à laquelle arrondir le nombre vers le bas. 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 actuel. |
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 à -2,156 est égale à -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 décimale à laquelle arrondir le nombre à l’entier supérieur. 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 actuel. |
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 divise, 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 'nom'. Par exemple, si le texte source est « Smith John Michael » et que est splitPattern 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 ». De plus, vous pouvez ajouter des constantes dans le modèle de sortie, telles que thenSplit(' ', 'Prénom : $2 Deuxième prénom : $3 Nom : $1').
| Nom | Type | Description |
|---|---|---|
| splitPattern (en anglais seulement) | Chaîne | Chaîne qui indique comment diviser le texte en segments. |
| replaceString (en anglais seulement) | Chaîne | Chaîne qui définit la chaîne de sortie, y compris les références de segment et les constantes. Tous les segments n’ont pas besoin d’être référencés. Référencez les segments définis par l’utilisation de splitPattern $#, où # est le numéro de l’ordre du segment dans l’élément de données source. Référencez l’élément de données source entier à l’aide de $0. |
| Type | Description |
|---|---|
| Objet | Objet TransformerRuleList actuel. |
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.
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 actuel. |
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');