Guia · Dados · Começando

JSON para iniciantes

JSON é a forma mais comum de APIs, conectores e automações trocarem dados. Aprender a ler a estrutura facilita muito a depuração, e é bem mais simples do que parece.

O que é JSON

JSON (JavaScript Object Notation) é um formato de texto para representar dados estruturados. Apesar do nome, não é exclusivo do JavaScript: praticamente toda linguagem e toda API o entende. É o formato das respostas de APIs, da saída de muitas ações do Power Automate e de arquivos de configuração.

Um JSON é sempre um único valor: um objeto, uma lista, um texto, um número, verdadeiro/falso ou nulo. Na prática, quase sempre é um objeto ou uma lista.

Objeto: pares nome e valor

Um objeto agrupa propriedades entre chaves. Cada propriedade tem um nome entre aspas duplas, dois pontos e um valor:

{"nome":"Ana","idade":31,"ativo":true}

Array: lista ordenada

Um array é uma lista entre colchetes, com itens separados por vírgula:

["azul","verde","amarelo"]

Estruturas dentro de estruturas

Objetos e arrays podem conter outros objetos e arrays, em qualquer profundidade. Este é o formato de uma resposta típica de API:

{
  "pedido": 1042,
  "cliente": {"nome": "Ana", "cidade": "Recife"},
  "itens": [
    {"sku": "A1", "qtd": 2},
    {"sku": "B2", "qtd": 1}
  ]
}

Aqui cliente é um objeto e itens é um array de objetos. Cole o seu JSON no formatador para ver essa estrutura organizada.

Os seis tipos de valor

TipoExemploObservação
Texto (string)"Recife"Sempre aspas duplas
Número31, 10.5, -2Sem aspas; ponto como decimal; sem zero à esquerda
Booleanotrue, falseMinúsculas, sem aspas
NulonullAusência intencional de valor
Objeto{"a":1}Nomes entre aspas duplas
Array[1,2,3]Itens separados por vírgula

Lendo um JSON no Power Automate

Para acessar um campo, siga o caminho da estrutura. Suponha que a ação Analisar JSON tenha recebido o pedido acima e use o corpo do gatilho:

triggerBody()?['cliente']?['nome']

Devolve Ana: entra no objeto cliente e pega o nome. Para listas:

length(triggerBody()?['itens'])
first(triggerBody()?['itens'])?['sku']

O primeiro devolve a quantidade de itens (2), o segundo o sku do primeiro item (A1). Para percorrer todos os itens, use um Aplicar a cada sobre triggerBody()?['itens'].

Se o JSON chega como texto (por exemplo, a resposta de uma ação HTTP), use Analisar JSON com um esquema gerado a partir de um exemplo real. Assim os campos aparecem no conteúdo dinâmico.

Testado no Power Automate: com o pedido acima, [...]?['cliente']?['nome'] devolveu Ana, length(...['itens']) devolveu 2 e first(...['itens'])?['sku'] devolveu A1. Um caminho que não existe (...?['naoExiste']?['x']) devolve nulo, sem derrubar o fluxo, graças ao ?.

Os erros de sintaxe mais comuns

O formatador mostra a linha e a coluna de cada erro.

Um cuidado com números grandes

Alguns sistemas guardam IDs com 16 ou mais dígitos. Ferramentas baseadas em JavaScript convertem esses números em ponto flutuante e podem arredondá-los sem avisar: 9007199254740993 vira 9007199254740992. Se o ID precisa ser exato, trate-o como texto entre aspas ou use um formatador que preserve o número, como o do Me Ajuda Flow.

Para praticar

  1. Pegue uma saída real de ação no histórico do Power Automate e cole no formatador.
  2. Identifique o que é objeto e o que é array.
  3. Escreva o caminho até um campo dentro de um array de objetos.
  4. Estrague o JSON de propósito (tire uma aspa) e leia a mensagem de erro.

Ferramentas para usar com este guia

Fontes oficiais