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

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.

1 Curtida

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