Respondido

Fazer uma busca no json com array


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).

icon

Melhor resposta por Bruno 28 December 2020, 14:49

Veja o original

3 comentários

Reputação 7

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