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 nome-valor.
Esta API funciona junto com as APIs Transformer e TransformerDefinition. Juntos, 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.
- Executar 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 o valor mínimo ou máximo deve ser usado ao comparar um elemento de dados de origem com 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 Serviço de transformação (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 associadas 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ê usará métodos do adaptador, comothenAdd(), thenReplace()ethenFloor() 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 e o resultado de todos os métodos do adaptador é o valor final salvo no campo de saída.
Por exemplo, no seguinte snippet de código, "thenMultiply()" e "thenRoundDown()" se aplicam a addRule('change_percentage', '$.quote.changePercent'); addRule('close_Price', '$.quote.close') inicia uma nova regra. Se o valor em $.quote.changePercent for .011, o valor de saída final será "1" (.011 * 100 arredondado para baixo).
.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. Você pode usar os métodos do adaptador "thenConcat()" e "thenConcatSymbol()" 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. |
| caminho | Cadeia de caracteres | Opcional. JSONPath ou XPath para o elemento de dados no documento de origem. Os métodos do adaptador "thenConcat()" e "thenConcatSymbol()" não exigem que você defina esse parâmetro se nenhum outro método do adaptador estiver 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 se eles forem exclusivos 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 - entãoAdaptCurrency(cadeia de caracteres currencyCode, booliano outputNumericCurrencyValue)
Adiciona um adaptador à regra atual que vincula o código da 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 - entãoAdaptDuration(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 a qual o campo de origem será convertido 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 - entãoApplyMap(mapa de objeto)
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 - entãoApplyPattern(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 |
|---|---|---|
| padrão de correspondência | Cadeia de caracteres | Padrão Regex a ser usado para localizar o texto a ser substituído/reformatado. |
| padrão de saída | 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 - theCeiling(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 direto 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 o passado na posição decimal de 2; enquanto que para arredondamento direto 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 no 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 da vírgula decimal na 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 - entãoConcat(valor de cadeia de caracteres)
Adiciona um adaptador à regra atual que concatena a cadeia de caracteres passada no campo de saída.
Ao contrário de outros métodos do 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 para concatenar até o 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 - entãoConcatSymbol (símbolo de cadeia de caracteres)
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 |
|---|---|---|
| symbol | 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 - entãoDivideBy(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 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_dividend')
.thenDivideBy('$.quote.total_shares');
TransformerRuleList - entãoDivideInto(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 - entãoFloor(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 direto 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 arredonda para baixo. Por exemplo, o valor do piso para 2,156 e 2,152 é sempre 2,15 para o passado na posição decimal de 2; enquanto que para arredondamento direto 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 no 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 da vírgula na 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 - entãoFormat(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 |
|---|---|---|
| padrão de correspondência | Cadeia de caracteres | Padrão para corresponder ao campo de origem. Valores válidos:
|
| padrão de saída | 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 - entãoMin(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 - entMultiply(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 o campo de origem será multiplicado. |
| 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 "substituirString")
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 com o campo de origem para identificar o texto a ser substituído. |
| Substituir cadeia de caracteres | Cadeia de caracteres | Cadeia de caracteres com a qual o texto correspondente será substituído. |
| 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 - entãoRoundDown(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 "thenRoundDown" () 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 da vírgula decimal na 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 - entãoRoundUp(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 de arredondamento 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 da vírgula decimal na qual o número será arredondado. 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 - entãoSplit(cadeia de caracteres "splitPattern", cadeia de caracteres "substituirString")
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 John Michael" e o splitPattern for um espaço, os segmentos disponíveis serão "Smith", "John" e "Michael". Para fazer referência a um segmento, use $#, onde # é o número da ordem do segmento na cadeia de caracteres de texto de origem. Por exemplo, se a chamada do método for entãoSplit(' ', '$2 $3 $1'), a saída será "JohnMichael Smith". Além disso, você pode adicionar constantes no padrão de saída, como entãoSplit(' ', 'Nome: $2 Nome do meio: $3 Sobrenome: $1').
| Nome | Tipo | Descrição |
|---|---|---|
| padrãode divisão | Cadeia de caracteres | Cadeia de caracteres que denota como dividir o texto em segmentos. |
| Substituir cadeia de caracteres | 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 pelo 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 é sobrenome, nome nos dados de origem e, na saída, será transformado em 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');