Skip to main content

Tenho um Json com alguns pedidos, o cliente digita o número do pedido e preciso exibir os detalhas do json a partir do número do pedido:



Ex:



"

{

"id":null,

"requestDate":"0001-01-01T00:00:00",

"previewDate":"29/12/2020",

"previewDateTT":null,

"requestType":"Portabilidade",

"requestState":"Validando documentação",

"customerName":null,

"cpf":null,

"requestAddress":null,

"numberRequest":null,

"requestDocument":null,

"orderCanceled":null,

"protocol":"PEDIDO1",

"lines":0,

"responseSearch":false,

"statusList":null,

"contracts":null,

"numbers":null

},



{

"id":null,

"requestDate":"0001-01-01T00:00:00",

"previewDate":"31/12/2020",

"previewDateTT":null,

"requestType":"Transferência de Titularidade",

"requestState":"Pedido em processamento",

"customerName":null,

"cpf":null,

"requestAddress":null,

"numberRequest":null,

"requestDocument":null,

"orderCanceled":null,

"protocol":"PEDIDO2",

"lines":0,

"responseSearch":false,

"statusList":null,

"contracts":null,

"numbers":null

}

]

}



Preciso criar um script que filtre o pedido pelo campo (Protocol).

Olá @Lucas_Felipe tudo bem?



Cara, você pode usar um script tipo esse aqui de baixo:







Script


function run(json, protocolo) {

var data= JSON.parse(json);

var filteredObj = data.find(function(item, i){

if(item.protocol=== protocolo){

index = i;

return item;

}

});

return filteredObj;

}





Basicamente o que ele faz é, receber um número de protocolo e o JSON com os pedidos, procurar nesse JSON qual índice corresponde a esse protocolo e te retorna o objeto inteiro, pra você trabalhar com ele depois.



Os parâmetros de entrada são:





JSON de pedidos


Número do protocolo (String)




Bruno, tudo ótimo e com você?



Acabei conseguindo desenvolver um script que funcionou também.



function run(content, protocolo) {



var json = JSON.parse(content);

var pedido = "";



let pedidos = json;



let find = pedidos.find(pedido => {

return pedido.protocol = protocolo;

});



return find



}



De qualquer forma, muito obrigado Bruno.


Este tópico foi fechado automaticamente 7 dias depois da úlima resposta. Novas respostas não são mais permitidas.


Comente