NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
API Testing5 min read

Como Converter JSON para CSV: Métodos, Ferramentas e Exemplos de Código

S
Shreya Srivastava
Content Team
Updated on: February 2026

Como Converter JSON para CSV: Métodos Rápidos

Converter JSON para CSV é uma das tarefas de transformação de dados mais comuns. Seja para analisar dados de API no Excel, exportar registros de banco de dados para um relatório ou preparar dados de treinamento para machine learning, veja os métodos mais rápidos:

Método

Melhor Para

Nível de Habilidade

Conversor JSON para CSV do Qodex

Conversões rápidas e pontuais

Sem necessidade de codificação

Python (pandas)

Grandes datasets, automação

Python básico

JavaScript (json2csv)

Projetos Node.js, pipelines de API

JavaScript básico

Linha de comando (jq + miller)

Shell scripting, transformações rápidas

Familiaridade com CLI

Excel Power Query

Usuários não técnicos

Sem necessidade de codificação

Método 1: Conversor Online Gratuito (Sem Código)

A maneira mais rápida de converter JSON para CSV é com o Conversor JSON para CSV gratuito do Qodex:

  1. Cole seus dados JSON ou faça upload de um arquivo .json

  2. A ferramenta detecta automaticamente a estrutura e nivela objetos aninhados

  3. Faça download do arquivo CSV resultante

Este método funciona melhor para conversões rápidas e pontuais de datasets pequenos a médios. Sem necessidade de conta, sem dados armazenados nos servidores.

Para a conversão inversa, use o Conversor CSV para JSON. Para uma comparação mais aprofundada desses formatos, veja nossa comparação CSV vs JSON.

Método 2: Python com pandas

A biblioteca pandas do Python é a escolha mais popular para conversão programática de JSON para CSV, especialmente para grandes datasets ou pipelines automatizados:

import pandas as pd
import json

# Array JSON simples e plano data = [ {"name": "Alice", "email": "alice@example.com", "age": 30}, {"name": "Bob", "email": "bob@example.com", "age": 25} ] df = pd.DataFrame(data) df.to_csv("output.csv", index=False)

# A partir de um arquivo JSON df = pd.read_json("data.json") df.to_csv("output.csv", index=False)

# JSON aninhado, nivele primeiro with open("nested.json") as f: data = json.load(f) df = pd.json_normalize(data) # Nivela objetos aninhados df.to_csv("output.csv", index=False)

Função principal: pd.json_normalize() lida com JSON aninhado nivelando-o em colunas com notação de ponto (por exemplo, address.city, address.zip). Isso é essencial para converter respostas de API do mundo real que raramente são planas.

Método 3: JavaScript com json2csv

Para projetos Node.js ou pipelines de dados construídos em JavaScript:

const { Parser } = require('json2csv');

const data = [ { name: "Alice", email: "alice@example.com", age: 30 }, { name: "Bob", email: "bob@example.com", age: 25 } ];

// Conversão básica const parser = new Parser(); const csv = parser.parse(data); console.log(csv);

// Com dados aninhados, especifique o nivelamento const { Parser } = require('json2csv'); const opts = { fields: ['name', 'address.city', 'address.zip'], unwind: ['orders'], // Expande arrays em múltiplas linhas }; const parser = new Parser(opts); const csv = parser.parse(nestedData);

A biblioteca json2csv lida com a maioria das estruturas JSON comuns, incluindo objetos aninhados, arrays e tipos mistos. Instale com npm install json2csv.

Método 4: Linha de Comando

Para shell scripting e one-liners rápidos, combine jq (processador JSON) com ferramentas padrão:

# Usando jq para converter array JSON plano para CSV
cat data.json | jq -r '
  (.[0] | keys_unsorted) as $keys |
  ($keys | @csv),
  (.[] | [.[$keys[]]] | @csv)
' > output.csv

# Usando miller (mlr), construído especificamente para conversão de formato mlr --json2csv cat data.json > output.csv

# Usando one-liner Python python3 -c "import pandas as pd; pd.read_json('data.json').to_csv('output.csv', index=False)"

Miller (mlr) é especialmente útil para conversão de formato de dados; instale com brew install miller (macOS) ou apt install miller (Ubuntu).

Lidando com JSON Aninhado

JSON do mundo real de endpoints de API raramente é plano. Veja como lidar com estruturas aninhadas comuns:

Objetos Aninhados - Colunas com Notação de Ponto

// JSON de entrada
{"name": "Alice", "address": {"city": "NYC", "zip": "10001"}}

// CSV de saída name,address.city,address.zip Alice,NYC,10001

Arrays - Múltiplas Linhas ou Strings Delimitadas

// JSON de entrada
{"name": "Alice", "tags": ["admin", "editor"]}

// Opção A: Múltiplas linhas (unwind) name,tags Alice,admin Alice,editor

// Opção B: String delimitada name,tags Alice,"admin;editor"

Aninhamento Misto - Nivelar + Unwind

Para JSON profundamente aninhado, use uma abordagem em dois passos: primeiro nivele objetos com json_normalize(), depois aplique unwind nos arrays em linhas separadas. Isso preserva todos os dados enquanto cria uma estrutura tabular válida.

Entender as diferenças estruturais entre esses formatos ajuda você a escolher a abordagem de conversão certa. Veja nossa comparação CSV vs JSON para uma análise mais aprofundada das vantagens e desvantagens.


Perguntas Frequentes

Posso converter JSON aninhado para CSV?

Sim, mas JSON aninhado requer nivelamento. Objetos aninhados são tipicamente convertidos para nomes de coluna com notação de ponto (por exemplo, address.city), e arrays podem ser expandidos em múltiplas linhas ou unidos em strings delimitadas. O pandas.json_normalize() do Python e a biblioteca Node.js json2csv lidam com a maioria dos padrões de aninhamento automaticamente. Para conversões rápidas, o Conversor JSON para CSV do Qodex lida com estruturas aninhadas automaticamente.

Quais dados são perdidos ao converter JSON para CSV?

O CSV não consegue representar tipos de dados (tudo se torna texto), estruturas aninhadas (niveladas para notação de ponto ou múltiplas linhas), distinções entre null e string vazia, ou valores booleanos (tornam-se as strings "true"/"false"). Se você precisar preservar essas distinções, considere manter uma cópia JSON junto com o CSV, ou use um formato que suporte tipos como Parquet ou NDJSON.

Como converto um arquivo JSON grande para CSV?

Para arquivos grandes (100 MB ou mais), evite carregar o arquivo inteiro na memória. Use abordagens de streaming: a biblioteca ijson do Python para análise incremental, ou processe NDJSON (um objeto JSON por linha) com leitura linha por linha. Para datasets muito grandes, ferramentas como Apache Spark ou DuckDB podem converter JSON para CSV de forma eficiente com uso mínimo de memória.

Como converto respostas de API JSON para CSV?

A maioria das respostas de API retorna arrays JSON de objetos, que se mapeiam diretamente para linhas de CSV. Use a biblioteca requests do Python para buscar os dados e pandas para converter: pd.DataFrame(response.json()).to_csv('output.csv'). Para APIs paginadas, colete todas as páginas em uma lista antes de converter. Para fluxos de trabalho de testes de API, o Qodex.ai pode exportar resultados de testes diretamente para CSV.

Qual é o melhor conversor de JSON para CSV?

Para conversões rápidas sem código: Conversor JSON para CSV do Qodex (gratuito, sem necessidade de conta). Para conversão programática em Python: pandas com json_normalize(). Para JavaScript/Node.js: o pacote npm json2csv. Para linha de comando: miller (mlr --json2csv). Escolha com base no seu caso de uso: pontual versus automatizado, arquivos pequenos versus grandes, JSON plano versus aninhado.

Posso converter CSV de volta para JSON?

Sim. A conversão inversa é simples para dados planos; cada linha do CSV torna-se um objeto JSON com os cabeçalhos das colunas como chaves. Use o Conversor CSV para JSON do Qodex para conversões rápidas, ou pandas.read_csv('data.csv').to_json() em Python. Observe que a conversão de CSV para JSON sempre produz objetos planos; se você precisar de estruturas aninhadas, precisará escrever lógica de transformação personalizada.