# Extrair campo

> Tire um campo ou um caminho aninhado, como title ou authorMeta.name, de dados JSON e envie como texto, como lista para executar por item ou como JSON.

Source: https://nodaro.ai/pt-BR/docs/nodes/automate/extract-field

O nó **Extrair campo** (Extract Field) tira um campo, ou um caminho aninhado de campos, de dados JSON. Escolha o campo entre os campos detectados nos dados do nó anterior ou digite um caminho com pontos, como `authorMeta.name`. O nó envia o resultado como um só texto, como uma lista que pode executar o próximo nó uma vez por valor ou como JSON bruto. Ele é executado na hora e não custa créditos.

- Found in: Automate › Logic & Data
- Output: data
- API type: `extract-field`

## Quando usar
- Tirar o `title` ou a `url` de cada resultado de pesquisa do [**Extrair da web** (Web Scrape)](https://nodaro.ai/docs/nodes/automate/web-scrape) antes de um lote.
- Pegar um valor aninhado, como o nome do autor dentro de cada post extraído.
- Transformar um array JSON em uma lista de textos para um nó [**Prompt**](https://nodaro.ai/docs/nodes/automate/prompt).
- Chegar a dados muito aninhados encadeando dois nós Extrair campo.

## Início rápido
### Adicionar o nó
Pressione Tab no canvas e escolha **Automatizar › Lógica e dados › Extrair campo**.

### Conectar dados JSON
Conecte um nó que envia JSON à entrada **Origem**, por exemplo o [Extrair da web](https://nodaro.ai/docs/nodes/automate/web-scrape) ou um nó [Prompt](https://nodaro.ai/docs/nodes/automate/prompt) que responde em JSON.

### Escolher o campo
Abra o painel de configurações. Quando o nó anterior tem um resultado, **Campo** lista os campos que ele encontrou. Escolha um, ou escolha **Caminho personalizado…** e digite um caminho com pontos.

### Escolher o tipo de saída e executar
Defina o **Tipo de saída** como **Texto**, **Lista** ou **JSON** e execute o nó. A **Prévia da saída** mostra o resultado.

Workflow: O Extrair campo pega o title de cada resultado de pesquisa como uma lista, e o Gerar imagem faz uma imagem por manchete.

- Extrair da web → Extrair campo (origem)
- Extrair campo → Gerar imagem (prompt · Cada item)

## Entradas e saídas
| Entrada ou saída | Aceita ou envia | O que faz |
| --- | --- | --- |
| **Origem** | JSON, texto que contém JSON ou uma lista | Os dados a ler. |
| **Texto** ou **JSON** | Texto, uma lista ou JSON | Os valores extraídos, no formato escolhido em **Tipo de saída**. A saída se chama **JSON** quando o tipo de saída é JSON. |

## Configurações
| Configuração | O que faz |
| --- | --- |
| **Campo** | O campo a extrair. Os campos detectados aparecem quando um nó anterior está conectado e tem dados. **(item inteiro)** usa cada elemento de um array como ele é. **Caminho personalizado…** muda para um **Caminho** digitado. |
| **Caminho** | Um caminho com pontos, como `caption` ou `authorMeta.name`. Quando os dados são um array, o caminho é aplicado a cada elemento. Deixe vazio para usar cada elemento como ele é. **← Voltar à lista de campos** volta aos campos detectados. |
| **Tipo de saída** | **Texto**, o padrão, junta os valores em um só texto, um valor por linha. **Lista** envia cada valor como um item separado, o que funciona com os modos de conexão **Item** e **Cada item**. **JSON** envia o valor bruto, para encadear outro Extrair campo ou um nó que leia JSON. |

## Manter dois campos pareados
Para usar juntos dois campos do mesmo array, por exemplo `prompt` e `negative` de uma lista de conceitos:

1. Adicione um Extrair campo por campo, os dois com o **Tipo de saída** definido como **Lista**.
2. Conecte cada um a uma entrada própria do próximo nó, com as duas conexões no modo **Cada item**. Você também pode conectá-los a duas colunas de uma [**Lista** (List)](https://nodaro.ai/docs/nodes/automate/list).

As duas listas se combinam pelo elemento do array: a execução 3 recebe o `prompt` e o `negative` do elemento 3. Um elemento sem `negative` deixa essa execução sem negativo, e as execuções seguintes não se deslocam. Uma execução nunca começa para um elemento que não tem valor nenhum. Por isso, um campo que só alguns elementos têm, como o link de um vídeo, é executado uma vez por valor existente.

A escolha por posição conta só os valores que existem. **Item N**, os intervalos e **Conjunto** contam os valores existentes, e a saída **Texto** lista os valores existentes, um por linha.

## Quando o JSON vem de um modelo de IA
Quando um nó [Prompt](https://nodaro.ai/docs/nodes/automate/prompt) escreve o JSON, peça a ele que retorne só o JSON bruto, sem bloco de código e sem nenhuma frase antes ou depois. Caso contrário, o Extrair campo falha com o erro “Input is not valid JSON”.

## Créditos
O Extrair campo é gratuito.

## Dicas
- **Conecte primeiro, escolha depois.** A lista **Campo** é preenchida a partir dos dados do nó anterior, então você não precisa lembrar os nomes das chaves.
- **Listas simples.** Quando o JSON já é uma lista simples, como `["a", "b", "c"]`, deixe **Campo** em **(item inteiro)** e defina o **Tipo de saída** como **Lista**.
- **Objetos aninhados.** Use a notação com pontos em **Caminho**, como `videoMeta.duration`.
- **Arrays no meio de um caminho.** Encadeie dois nós. O primeiro extrai `items` com o **Tipo de saída** definido como **JSON**; o segundo extrai `title` de cada item.
- **Filtre primeiro.** Para manter só alguns itens antes de extrair, use o [**Filtrar lista** (Filter List)](https://nodaro.ai/docs/nodes/automate/filter-list).

## Frequently asked questions

### Como tiro os títulos dos resultados extraídos?

Conecte o extrator ao “Extrair campo” e escolha title em “Campo”. Defina o “Tipo de saída” como “Lista” para executar o próximo nó uma vez por título, ou como “Texto” para ter todos os títulos em um só texto, um por linha.

### Qual é a diferença entre os tipos de saída “Texto”, “Lista” e “JSON”?

“Texto” junta os valores em um só texto, um valor por linha. “Lista” envia cada valor como um item separado, para que o próximo nó possa ser executado uma vez por item. “JSON” envia o valor bruto, para um segundo “Extrair campo” ou outro nó que leia JSON.

### Por que o “Extrair campo” diz “Input is not valid JSON”?

O texto que ele recebeu não é JSON puro. Quando um nó de texto com IA escreve o JSON, ele precisa retornar só o JSON bruto, sem bloco de código e sem nenhuma frase antes ou depois.

### Como mantenho juntos dois campos do mesmo item, como prompt e negative?

Adicione um “Extrair campo” por campo, os dois com o “Tipo de saída” definido como “Lista”. Conecte cada um a uma entrada própria do próximo nó e mude as duas conexões para “Cada item”. A execução 3 recebe então o prompt e o negative do terceiro elemento.

### O “Extrair campo” custa créditos?

Não. O “Extrair campo” é executado na hora e é gratuito.
