TransformerRuleList - com escopo, global
A API TransformerRuleList permite criar uma lista de regras para transformar vários tipos de dados JSON e XML em saída de par de nome-valor.
A API TransformerRuleList funciona junto com as APIs Transformer e TransformerDefinition. Juntas, essas APIs transformam nós XML ou qualquer entidade em um documento JSON estruturado em uma saída de pares de nome-valor. Entidades JSON compatíveis, incluindo objetos e elementos em uma matriz, como cadeias de caracteres, números e outras matrizes.
A API TransformerRuleList permite criar listas de regras de transformação que definem quais dados no documento de origem serão incluídos na saída e como transformar os dados de origem.
A API TransformerDefinition associa uma lista de regras de transformação a um caminho de registro JSON/XML para definir objetos de definição de transformação reutilizáveis. Você pode usar um objeto de definição de transformação para transformar um ou mais documentos de origem.
A API do Transformador executa a transformação de dados real, uma entidade de dados de cada vez, usando a lista de regras de transformação especificada para criar os dados de saída desejados.
Ao instanciar o objeto TransformRuleList, você deve definir se ele descreve um documento de origem JSON ou XML usando os métodos .fromJSON() ou .fromXML(). Por exemplo:
var trl = sn_tfrm.TransformerRuleList().fromJSON(); ou var trl = sn_tfrm.TransformerRuleList().fromXML();
Em seguida, use o método addRule() para definir uma regra de transformação para cada elemento no documento de origem que você deseja incluir como um par nome-valor na saída.
- Concatenar texto.
- Execute funções matemáticas, como adicionar, subtrair, dividir e multiplicar.
- Arredonde os valores para cima ou para baixo (arredondar para cima/para baixo, teto/piso).
- Defina se deve usar o valor mínimo ou máximo ao comparar um elemento de dados de origem a um valor especificado.
- Aplique um código de moeda.
- Converta entre diferentes unidades de medida.
- Formatar elementos de dados.
- Aplicar padrões.
- Substitua os elementos de dados especificados por um valor especificado.
- Dividir e reorganizar cadeias de caracteres.
Você pode usar a classe TransformerRuleList em scripts de servidor com escopo e globais. Ao usar esta classe em uma aplicação com escopo, use o identificador de namespace sn_tfrm. Além disso, antes que esta API esteja disponível em uma instância, você deve ativar o plug-in Transformation Service (com.glide.transform).
TransformerRuleList - addRule(regra de cadeia de caracteres, caminho de cadeia de caracteres)
Cria uma entrada na lista de regras de transformação associada que define um campo a ser criado na saída.
Você pode criar regras para qualquer elemento em um documento de origem. Por exemplo, .addRule('ticker', '$.quote.symbol') cria o campo "ticker" na saída e copia o valor em quote.symbol da origem.
Depois de definir uma regra usando addRule(), você usa métodos de adaptador, como entãoAdicionar(), entãoReplace()e entãoFloor() para manipular os dados de saída da regra. Você pode definir quantos métodos de adaptador forem necessários para uma única regra. Todos os métodos do adaptador diretamente após uma chamada addRule(), até a próxima chamada addRule(), se aplicam a essa regra. Os métodos do adaptador são cumulativos, com o resultado de todos os métodos do adaptador sendo o valor final salvo no campo de saída.
Por exemplo, no snippet de código a seguir, entãoMultiply() e entãoRoundDown() se aplicam a addRule('change_percentage', '$.quote.changePercent'); addRule('close_price', '$.quote.close') inicia uma nova regra. Se o valor em $.quote.changePercent for 0,011, o valor de saída final será "1" (0,011 * 100 arredondado para a posição da unidade).
.addRule('change_percentage', '$.quote.changePercent')
.thenMultiply('100')
.thenRoundDown('0')
.addRule('close_price', '$.quote.close') O método addRule() também oferece suporte ao parâmetro summary; .addRule('summary'). Esta implementação cria o campo de nome "summary:" na saída, mas não o correlaciona a nenhum campo na origem. Em seguida, você pode usar os métodos de adaptador em seguidaConcat() e emConcatSymbol() para modificar o conteúdo do campo de resumo.
| Nome | Tipo | Descrição |
|---|---|---|
| regra | Cadeia de caracteres | Nome do elemento na saída de destino. |
| path | Cadeia de caracteres | Opcional. JSONPath ou XPath para o elemento de dados no documento de origem. Os métodos do adaptador entãoConcat() e entãoConcatSymbol() não exigem que você defina este parâmetro se nenhum outro método do adaptador for definido para a regra. Todos os outros métodos do adaptador exigem este parâmetro. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(cadeia de caracteres name)
Define um nome para o objeto TransformerRuleList associado para fins de registro em log.
| Nome | Tipo | Descrição |
|---|---|---|
| nome | Cadeia de caracteres | Nome a ser usado para identificar o objeto TransformerRuleList associado. Embora a API não force esse nome a ser exclusivo, é útil que ele seja exclusivo em uma instância. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(cadeia de caracteres "currencyCode", booliano outputNumericCurrencyValue)
Adiciona um adaptador à regra atual que vincula o código de moeda especificado ao campo de saída definido na chamada addRule() associada.
| Nome | Tipo | Descrição |
|---|---|---|
| currencyCode | Cadeia de caracteres | Código da moeda a ser vinculado ao elemento de dados de destino, como USD, EUR e GBP. |
| outputNumericCurrencyValue | Booliano | Opcional. Sinalizador que indica se o código da moeda deve ser exibido. Valores válidos:
Padrão: falso |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(cadeia de caracteres inputDuration, cadeia de caracteres outputDuration)
Adiciona um adaptador à regra atual que converte o campo de origem de uma unidade de medida em outra, como de minutos para segundos ou semanas para dias.
| Nome | Tipo | Descrição |
|---|---|---|
| inputDuration | Cadeia de caracteres | Unidade de medida atual do campo de origem. Valores válidos:
|
| outputDuration | Cadeia de caracteres | Unidade de medida para converter o campo de origem na saída. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(Number operando)
Adiciona um adaptador à regra atual que adiciona o valor passado ao campo de origem.
| Nome | Tipo | Descrição |
|---|---|---|
| operando | Número | Valor a ser adicionado ao campo de origem. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(Object map)
Adiciona um adaptador à regra atual que pesquisa o campo de origem associado em busca de uma lista de cadeias de caracteres e as substitui na saída pelos valores de substituição especificados.
| Nome | Tipo | Descrição |
|---|---|---|
| mapa | Objeto | Pares de nome/valor.
|
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
Neste exemplo, a chamadathenApplyMap() pesquisa o texto de origem no campo company_info para Inc. e St. e os substitui por Incorporated e Street no campo company_info na saída.
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(cadeia de caracteres "matchPattern", cadeia de caracteres "outputPattern"
Adiciona um adaptador à regra atual que corresponde a um padrão regex especificado ao conteúdo no campo de origem e, em seguida, substitui/reformata esse conteúdo por um segundo padrão regex e armazena esse valor na saída.
| Nome | Tipo | Descrição |
|---|---|---|
| MatchPattern | Cadeia de caracteres | Padrão Regex a ser usado para localizar o texto a ser substituído/reformatado. |
| outputPattern | Cadeia de caracteres | Padrão Regex a ser usado para atualizar o texto localizado. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
Neste exemplo, qualquer nome de empresa que termine com "Inc." é transformado para "Incorporado", como Empresa Inc. para Empresa Incorporada.
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(Number operando)
Adiciona uma ação à regra atual para arredondar o campo de origem para cima na posição decimal especificada pelo valor passado.
Ao contrário do arredondamento reto em que o número é arredondado com base no valor do dígito na posição decimal especificada (0-4 arredonda para baixo, 5-9 arredonda para cima), o limite máximo é sempre arredondado para cima. Por exemplo, o valor máximo para 2,156 e 2,152 é sempre 2,16 para a posição decimal passada de 2; enquanto que para arredondamento reto os valores seriam 2,16 e 2,15 respectivamente. Para números negativos, a operação de limite torna o número mais positivo, já que o valor máximo de -2,156 é -2,15; enquanto o mesmo número arredondado para cima torna o valor mais negativo, -2,16.
| Nome | Tipo | Descrição |
|---|---|---|
| operando | Número | Posição decimal à direita do ponto decimal no qual o número será arredondado para cima (aplicar teto). Por exemplo, se este valor for 2 e o elemento de dados de origem for 6,421, o valor resultante será 6,43. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(cadeia de caracteres value)
Adiciona um adaptador à regra atual que concatena a cadeia de caracteres passada na cadeia de caracteres para o campo de saída.
Ao contrário de outros métodos de adaptador, este método não precisa ser aplicado a um campo de origem. Você pode usar este método para criar cadeias de caracteres de dados completamente novas na saída.
| Nome | Tipo | Descrição |
|---|---|---|
| valor | Cadeia de caracteres | Texto a ser concatenado ao final do elemento de dados atual. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(cadeia de caracteres "símbolo")
Adiciona um adaptador à regra atual que concatena o valor de um campo definido anteriormente na lista de regras para o campo de saída atual.
| Nome | Tipo | Descrição |
|---|---|---|
| símbolo | Cadeia de caracteres | Nome do elemento da lista de regras a ser anexado ao campo de saída. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(Number operando)
Adiciona um adaptador à regra atual que divide o campo de origem pelo valor passado.
| Nome | Tipo | Descrição |
|---|---|---|
| operando | Número | Valor pelo qual o campo de origem será dividido. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(Number operando)
Adiciona um adaptador à regra atual que divide o valor passado pelo campo de origem.
| Nome | Tipo | Descrição |
|---|---|---|
| operando | Número | Valor no qual dividir o campo de origem. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(Number operando)
Adiciona um adaptador à regra atual que arredonda o campo de origem para baixo na posição decimal especificada pelo valor passado e o armazena na saída.
Ao contrário do arredondamento simples em que o número é arredondado com base no valor do dígito na posição decimal especificada (0-4 arredonda para baixo, 5-9 arredonda para cima), o piso é sempre arredondado para baixo. Por exemplo, o valor mínimo para 2,156 e 2,152 é sempre 2,15 para o passado na posição decimal de 2; enquanto que para arredondamento reto os valores seriam 2,16 e 2,15 respectivamente. Para números negativos, a operação de piso torna o número mais negativo, já que o valor de piso de -2,156 é -2,16; enquanto o mesmo número arredondado para baixo torna o valor mais positivo, -2,15.
| Nome | Tipo | Descrição |
|---|---|---|
| operando | Número | Posição decimal à direita do ponto decimal no qual o número será arredondado para baixo (aplicar piso). Por exemplo, se este valor for 2 e o elemento de dados de origem for 6,427, o valor resultante será 6,42. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(cadeia de caracteres "matchPattern", cadeia de caracteres "outputPattern")
Adiciona um adaptador à regra atual que reformata o conteúdo no campo de origem que corresponde ao padrão de correspondência especificado, com o padrão de saída especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| MatchPattern | Cadeia de caracteres | Padrão para corresponder ao campo de origem. Valores válidos:
|
| outputPattern | Cadeia de caracteres | Padrão para substituir o conteúdo na saída. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
Este exemplo reformata a data da cotação de AAAA/MM/DD para AAAA MM-DD.
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(Number operando)
Adiciona um adaptador à regra atual que compara o valor passado com o campo de origem e copia o maior dos dois valores para o campo de saída.
| Nome | Tipo | Descrição |
|---|---|---|
| operando | Número | Valor a ser comparado ao campo de origem. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(Number operando)
Adiciona um adaptador à regra atual que compara o valor passado com o campo de origem e copia o menor dos dois valores para o campo de saída.
| Nome | Tipo | Descrição |
|---|---|---|
| operando | Número | Valor a ser comparado ao campo de origem. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(Number operando)
Adiciona um adaptador à regra atual que multiplica o campo de origem pelo valor passado.
| Nome | Tipo | Descrição |
|---|---|---|
| operando | Número | Valor pelo qual multiplicar o campo de origem. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(cadeia de caracteres "matchString", cadeia de caracteres "placeplaceString")
Adiciona um adaptador à regra atual que encontra todo o texto no campo de origem que corresponde a uma cadeia de caracteres especificada e o substitui por uma cadeia de caracteres atualizada.
| Nome | Tipo | Descrição |
|---|---|---|
| cadeia de correspondência | Cadeia de caracteres | Cadeia de caracteres a ser correspondida ao campo de origem para identificar o texto a ser substituído. |
| cadeia de caracteressubstituir | Cadeia de caracteres | Cadeia de caracteres com a qual substituir o texto correspondente. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
Neste exemplo, qualquer nome de empresa que termine com "Inc." é transformado para "Incorporado", como Empresa Inc. para Empresa Incorporada.
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(Number operando)
Adiciona um adaptador à regra atual que arredonda o campo de origem para baixo na posição decimal especificada pelo valor passado.
Para números negativos, o método entãoRoundDown() torna o número mais positivo; o valor arredondado para baixo de -2,156 é -2,15. O método entãoFloor() torna o mesmo número mais negativo, -2.16.
| Nome | Tipo | Descrição |
|---|---|---|
| operando | Número | Posição decimal à direita do ponto decimal no qual o número será arredondado para baixo. Por exemplo, se este valor for 2 e o elemento de dados de origem for 6,427, o valor resultante será 6,42. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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 -thenRound Up(Number operando)
Adiciona um adaptador à regra atual que arredonda o elemento de dados de origem para cima na posição decimal especificada pelo valor passado.
Para números negativos, o método entãoRoundUp() torna o número mais negativo; o valor arredondado de -2,156 é -2,16. O métodothenCeiling() torna o mesmo número mais positivo, -2,15.
| Nome | Tipo | Descrição |
|---|---|---|
| operando | Número | Posição decimal à direita do ponto decimal no qual o número será arredondado para cima. Por exemplo, se este valor for 2 e o elemento de dados de origem for 6,422, o valor resultante será 6,43. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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(cadeia de caracteres "splitPattern", cadeia de caracteres "placeplaceString")
Adiciona um adaptador à regra atual que divide, reorganiza e substitui cadeias de caracteres no campo de origem e as salva no campo de saída.
O parâmetro splitPattern denota como dividir a cadeia de caracteres de texto de origem em segmentos. Este parâmetro pode ser um separador de palavras típico, como um espaço (' '), vírgula (',') ou ponto e vírgula (';'), e também pode ser qualquer cadeia de caracteres, como 'name'. Por exemplo, se o texto de origem for "Smith JohnMichael" e o splitPattern for um espaço, os segmentos disponíveis serão "Smith", "João" e "Michael". Para fazer referência a um segmento, use $#, onde # é o número da ordem do segmento na cadeia de caracteres do texto de origem. Por exemplo, se a chamada do método for entãoDividir(' ', '$2 $3 $1'), a saída será "João Paulo Silva". Além disso, você pode adicionar constantes no padrão de saída, como entãoDividir(' ', 'Nome: $2 Nome do meio: $3 Sobrenome: $1').
| Nome | Tipo | Descrição |
|---|---|---|
| padrão de divisão | Cadeia de caracteres | Cadeia de caracteres que denota como dividir o texto em segmentos. |
| cadeia de caracteressubstituir | Cadeia de caracteres | Cadeia de caracteres que define a cadeia de caracteres de saída, incluindo referências de segmento e constantes. Nem todos os segmentos precisam ser referenciados. Faça referência aos segmentos definidos por splitPattern usando $#, em que # é o número da ordem do segmento no elemento de dados de origem. Faça referência a todo o elemento de dados de origem usando $0. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
Neste exemplo, o nome do CEO é o sobrenome, o nome nos dados de origem e, na saída, ele será transformado para o nome sobrenome.
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(Number operando)
Adiciona um adaptador à regra atual que subtrai o valor passado do campo de origem e o armazena no campo de saída.
| Nome | Tipo | Descrição |
|---|---|---|
| operando | Número | Valor a ser subtraído do elemento de dados de origem. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto TransformerRuleList atual. |
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');