Respondido

Retirar dados de um Array


Reputação 3

Boa tarde pessoal, estou com dificuldades em retirar um dado de um array.


Eu recebo de uma API os seguintes dados:

{

“rows”: [{

“id_cliente”: “5561”,

“nome_razao”: “NOME COMPLETO CLIENTE”,

“cpf_cnpj”: “99999999999”,

“data_nascimento”: “1954-02-28”,

“data_cadastro”: “2018-06-14 00:00:00”,

“id_status_cliente”: “1”,

“status_cliente”: “Ativo”,

“id_tipo_pagamento_cliente”: “1”,

“tipo_pagamento_cliente”: “Boleto”,

“nome_boleto”: “Boleto Itaú”,

“planos”: [{

“id_cliente_plano”: “5275”,

“id_end_instalacao”: “5558”,

“endereco_instalacao”: “Avenida Doutor João Amaral Gama, 824 - Jardim Caieira - Limeira/SP CEP: 13483225”,

“id_end_cobranca”: “5558”,

“endereco_cobranca”: “Avenida Doutor João Amaral Gama, 824 - Jardim Caieira - Limeira/SP CEP: 13483225”,

“plano”: “15 MEGA-FIBRA”,

“id_status_plano”: “2”,

“status_plano”: “Ativo”,

“id_venc”: “25”,

“dia_vencimento”: “25”,

“valor_plano”: “59.90”,

“valor_plano_ate_vencimento”: null,

“login”: “usuario_pppoe”,

“senha”: “123”,

“mac”: “”,

“ddns”: null,

“wireless_psk”: “”,

“nao_bloquear_ate”: “2019-06-03”,

“data_ativacao”: “2018-11-13 15:01:32”,

“isento”: “0”,

“observacao”: “”,

“franquia_ultrapassada”: false,

“dados_franquia_ultrapassada”: null,

“motivo_problema_regiao”: {

“id_motivo_problema_regiao”: “1”,

“hora_retorno”: “18”,

“minuto_retorno”: “40”

}

}],

“emails”: [

{

“email”: “[email protected]

},

{

“email”: “[email protected]

}

],

“telefones”: [

{

“ddd”: “19”,

“telefone”: “88888888”

},

{

“ddd”: “19”,

“telefone”: “99999999”

}

]

}],

“count”: 1

}


Gostaria de pegar somente o id_cliente, porém está retornando undefined.


O script que estou usando é esse:

function run(dados) {


var json = JSON.parse(dados);


var teste = json.rows;


return teste[0][1];


}


Alguém consegue me ajudar? 😦

icon

Melhor resposta por raphael.silva 3 February 2023, 14:20

Veja o original

4 comentários

Reputação 6
Crachá

Olá @Maria_Eduarda_Ferrei tudo bem?


Pelo que entendi do seu json, o script para obter o id do cliente ficaria assim:


function run(dados) {
try {
const json = JSON.parse(dados);
const rows = json.rows;
return rows[0].id_cliente || '';
} catch (error) {
return '';
}
}

Como os elementos do vetor rows são objetos, você precisa acessar seus campos diretamente pelo nome. Dessa forma, a correção é mudar de teste[0][1] para teste[0].id_cliente. Além disso adicionei tratamento para exceções no script. Qualquer dúvida é só me marcar nos comentários 😉.

Reputação 3

@raphael.silva , primeiramente muito obrigada! Deu certo!


Mas, quando tento aplicar o mesmo script para um json semelhante, ele da erro. 😦


Eu preciso retirar o linha_digitavel desse json:

{

“rows”: [{

“itensPlano”: [{

“id_cobranca_plano”: “80427”,

“valor”: “114.90”,

“acrescimo”: null,

“desconto”: null,

“juros”: “1.00”,

“multa”: “2.00”,

“valor_pago”: null,

“valor_ate_vencimento”: null,

“plano”: “10 MEGA PERMUTA - FIBRA OPTICA”,

“juros_pagar”: 0,

“multa_pagar”: 0,

“valor_atualizado”: “114.90”

},{

“id_cobranca_plano”: “80451”,

“valor”: “199.90”,

“acrescimo”: null,

“desconto”: null,

“juros”: “1.00”,

“multa”: “2.00”,

“valor_pago”: null,

“valor_ate_vencimento”: null,

“plano”: “30 MEGA SIMETRICO PERMUTA - FIBRA OPTICA”,

“juros_pagar”: 0,

“multa_pagar”: 0,

“valor_atualizado”: “199.90”

}],

“itensAvulsa”: [],

“valor_pago_cobranca”: “0.00”,

“id_cliente_plano”: “447”,

“pago”: “0”,

“id_cobranca”: “7387143”,

“periodo_prestacao”: “12/2019”,

“data_vencimento”: “2020-01-10”,

“desconto_ate_vencimento”: “20.00”,

“data_vencimento_util”: “2020-01-10”,

“valor_total_a_pagar”: “294.80”,

“valor_total_cobranca”: 314.80,

“isGerenciaNet”: “1”,

“isBoletoFacil”: “0”,

“nosso_numero”: null,

“linha_digitavel”: “99999.99999 99999.999999 99999.999999 3 81300000031480”,

“isVencido”: false

}],

“count”: 4

}


Coloquei o seguinte código:

function run(reesponse) {

try {

const json = JSON.parse(reesponse);

const rows = json.rows;

return rows[0].linha_digitavel || ‘’;

} catch (error) {

return ‘’;

}

}


E ele trava, você sabe me apontar onde estou errando, já que estou usando o rows[0] igual você apontou anteriormente?

Reputação 6
Crachá

Olá @Maria_Eduarda_Ferrei, pelo que verifiquei era para dar certo o script. O que pode estar dando errado é alguma configuração do fluxo dentro do Blip. Verifique se a variável de entrada do script está correta, talvez seja um erro de digitação na variável reesponse.


Mas caso tenha dificuldades em encontrar o erro, recomendo você utilizar a extensão Beholder para isso. Com ele você verá passo a passo do que está sendo executado no fluxo do bot e se tiver ocorrendo algum erro, ele irá apontar o problema.

Reputação 3

@raphael.silva era a variável de entrada mesmo.


Muito obrigada!! Você é sensacional.

Comente