Formate e embeleze seus dados JSON com a indentação adequada. Torna o JSON bruto legível com destaque de sintaxe e validação.
Formate e embelezar seu JSON com esta ferramenta simples
JSON formatado aparecerá aqui...
JSON (JavaScript Object Notation) é um formato leve de intercâmbio de dados que se tornou o padrão para troca de dados em aplicações web. Apesar de sua simplicidade, os dados JSON podem se tornar difíceis de ler quando estão minificados ou carecem de formatação adequada. Esta ferramenta ajuda você a transformar cadeias JSON brutas e não formatadas em um formato bem estruturado e indentado que é muito mais fácil de ler e analisar.
A formatação JSON (também conhecida como "impressão bonita") adiciona indentação consistente, quebras de linha e espaçamento para tornar a estrutura hierárquica dos dados JSON visualmente aparente. Isso é particularmente valioso ao trabalhar com objetos aninhados complexos ou grandes conjuntos de dados onde os relacionamentos entre os elementos, de outra forma, podem ser difíceis de discernir.
Nosso formato JSON fornece uma interface simples para embelezar seus dados JSON com a indentação e estrutura adequadas, tornando-os mais legíveis para humanos, enquanto mantém sua validade para máquinas.
JSON é construído em duas estruturas principais:
{}
. Cada nome é seguido por dois pontos :
e os pares são separados por vírgulas ,
.1 {"nome": "João", "idade": 30, "cidade": "Nova York"}
2
[]
. Os valores são separados por vírgulas ,
.1 ["maçã", "banana", "cereja"]
2
Os valores JSON podem ser:
"Olá Mundo"
42
ou 3.14159
true
ou false
null
{"chave": "valor"}
[1, 2, 3]
JSON válido deve seguir estas regras de sintaxe:
Erros comuns de sintaxe incluem:
A formatação JSON transforma JSON compacto e minificado em uma forma mais legível ao:
Analisar: A cadeia JSON é primeiro analisada para garantir que seja válida e para criar uma representação em memória da estrutura de dados.
Indentação: Cada nível aninhado de objetos e arrays é indentado (normalmente por 2 ou 4 espaços) para representar visualmente a hierarquia.
Quebras de Linha: Novas linhas são adicionadas após cada propriedade ou elemento de array para melhorar a legibilidade.
Espaçamento: Espaçamento consistente é adicionado em torno de dois pontos e vírgulas.
Por exemplo, este JSON minificado:
1{"nome":"João Silva","idade":30,"endereço":{"rua":"123 Rua Principal","cidade":"Qualquer Cidade","estado":"SP"},"hobbies":["leitura","caminhada","fotografia"]}
2
Torna-se este JSON formatado:
1{
2 "nome": "João Silva",
3 "idade": 30,
4 "endereço": {
5 "rua": "123 Rua Principal",
6 "cidade": "Qualquer Cidade",
7 "estado": "SP"
8 },
9 "hobbies": [
10 "leitura",
11 "caminhada",
12 "fotografia"
13 ]
14}
15
Nosso formatador usa uma indentação padrão de 2 espaços por nível, que é uma convenção comum na comunidade de desenvolvimento e fornece um bom equilíbrio entre compactação e legibilidade.
Um aspecto crítico da formatação JSON é a validação. Antes que o JSON possa ser formatado, ele deve ser sintaticamente válido de acordo com a especificação JSON. Erros comuns de validação incluem:
Erros de Sintaxe:
Erros de Tipo de Dados:
indefinido
ou NaN
Quando você encontra JSON inválido, a mensagem de erro pode ajudar a identificar o problema. A maioria dos analisadores JSON indicará a posição onde a análise falhou, o que pode ajudar a localizar o problema. Nossa ferramenta fornece mensagens de erro claras para ajudar você a identificar e corrigir problemas em seus dados JSON.
A formatação JSON é valiosa em numerosos cenários:
Ao trabalhar com APIs RESTful, JSON formatado facilita:
Muitas aplicações modernas usam JSON para configuração:
A formatação JSON ajuda quando:
A formatação JSON adequada é essencial quando:
A formatação JSON clara é valiosa para:
Embora nosso formatador JSON baseado na web seja conveniente para tarefas rápidas de formatação, várias alternativas existem para diferentes cenários:
Navegadores modernos incluem capacidades de formatação JSON:
A maioria dos ambientes de desenvolvimento oferece formatação JSON:
Para usuários de terminal ou automação:
jq
é um processador JSON leve e flexível de linha de comandojson_pp
vem pré-instalado em muitos sistemas Unixpython -m json.tool
fornece formatação rápida usando PythonAo formatar JSON dentro de aplicações:
1// JavaScript
2const formatted = JSON.stringify(jsonObject, null, 2);
3
1# Python
2import json
3formatted = json.dumps(json_object, indent=2)
4
1// Java com Gson
2Gson gson = new GsonBuilder().setPrettyPrinting().create();
3String formatted = gson.toJson(jsonObject);
4
1# Ruby
2require 'json'
3formatted = JSON.pretty_generate(json_object)
4
1// PHP
2$formatted = json_encode($jsonObject, JSON_PRETTY_PRINT);
3
JSON foi criado por Douglas Crockford no início dos anos 2000 como uma alternativa leve ao XML. O formato foi derivado da sintaxe de literal de objeto do JavaScript, mas projetado para ser independente de linguagem. Em 2006, o JSON foi formalmente especificado no RFC 4627 e rapidamente ganhou popularidade devido à sua simplicidade e compatibilidade com o JavaScript.
Antes do JSON, o XML era o formato dominante para intercâmbio de dados, mas sua verbosidade e complexidade o tornavam incômodo para muitas aplicações. O JSON ofereceu uma sintaxe mais concisa que era mais fácil de ler e escrever, tanto para humanos quanto para máquinas. Ele também se alinhou perfeitamente ao modelo de objeto do JavaScript, tornando-se a escolha natural para aplicações web.
A adoção do JSON acelerou com o surgimento de AJAX e APIs RESTful no meio dos anos 2000. Na década de 2010, ele se tornou o padrão de fato para APIs web, arquivos de configuração e armazenamento de dados em bancos de dados NoSQL como MongoDB e CouchDB.
Hoje, o JSON é suportado por praticamente todas as linguagens de programação e é usado em inúmeras aplicações na web. Sua simplicidade, flexibilidade e suporte universal o tornaram um dos formatos de dados mais importantes na computação moderna.
Aqui estão exemplos de como formatar JSON em várias linguagens de programação:
1// Formatação JSON em JavaScript
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `Erro: ${error.message}`;
8 }
9}
10
11// Exemplo de uso
12const rawJSON = '{"nome":"João","idade":30,"cidade":"Nova York"}';
13console.log(formatJSON(rawJSON));
14
1# Formatação JSON em Python
2import json
3
4def format_json(json_string):
5 try:
6 parsed_data = json.loads(json_string)
7 return json.dumps(parsed_data, indent=2)
8 except json.JSONDecodeError as e:
9 return f"Erro: {str(e)}"
10
11# Exemplo de uso
12raw_json = '{"nome":"João","idade":30,"cidade":"Nova York"}'
13print(format_json(raw_json))
14
1// Formatação JSON em Java com Gson
2import com.google.gson.Gson;
3import com.google.gson.GsonBuilder;
4import com.google.gson.JsonSyntaxException;
5
6public class JSONFormatter {
7 public static String formatJSON(String jsonString) {
8 try {
9 Gson gson = new GsonBuilder().setPrettyPrinting().create();
10 Object parsedJson = gson.fromJson(jsonString, Object.class);
11 return gson.toJson(parsedJson);
12 } catch (JsonSyntaxException e) {
13 return "Erro: " + e.getMessage();
14 }
15 }
16
17 public static void main(String[] args) {
18 String rawJSON = "{\"nome\":\"João\",\"idade\":30,\"cidade\":\"Nova York\"}";
19 System.out.println(formatJSON(rawJSON));
20 }
21}
22
1// Formatação JSON em PHP
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "Erro: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// Exemplo de uso
11$rawJSON = '{"nome":"João","idade":30,"cidade":"Nova York"}';
12echo formatJSON($rawJSON);
13
1# Formatação JSON em Ruby
2require 'json'
3
4def format_json(json_string)
5 begin
6 parsed_data = JSON.parse(json_string)
7 return JSON.pretty_generate(parsed_data)
8 rescue JSON::ParserError => e
9 return "Erro: #{e.message}"
10 end
11end
12
13# Exemplo de uso
14raw_json = '{"nome":"João","idade":30,"cidade":"Nova York"}'
15puts format_json(raw_json)
16
1// Formatação JSON em C# com Newtonsoft.Json
2using Newtonsoft.Json;
3using System;
4
5class JSONFormatter
6{
7 public static string FormatJSON(string jsonString)
8 {
9 try
10 {
11 object parsedJson = JsonConvert.DeserializeObject(jsonString);
12 return JsonConvert.SerializeObject(parsedJson, Formatting.Indented);
13 }
14 catch (JsonException e)
15 {
16 return $"Erro: {e.Message}";
17 }
18 }
19
20 static void Main()
21 {
22 string rawJSON = "{\"nome\":\"João\",\"idade\":30,\"cidade\":\"Nova York\"}";
23 Console.WriteLine(FormatJSON(rawJSON));
24 }
25}
26
1// Formatação JSON em Go
2package main
3
4import (
5 "encoding/json"
6 "fmt"
7)
8
9func formatJSON(jsonString string) string {
10 var parsedData interface{}
11 err := json.Unmarshal([]byte(jsonString), &parsedData)
12 if err != nil {
13 return fmt.Sprintf("Erro: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("Erro: %s", err.Error())
19 }
20
21 return string(formattedBytes)
22}
23
24func main() {
25 rawJSON := `{"nome":"João","idade":30,"cidade":"Nova York"}`
26 fmt.Println(formatJSON(rawJSON))
27}
28
Ao trabalhar com formatação JSON, esteja ciente desses desafios potenciais:
Arquivos JSON muito grandes (vários megabytes ou mais) podem causar problemas de desempenho em formatadores baseados em navegador. Para tais casos:
jq
JSON extremamente aninhado (mais de 10-20 níveis de profundidade) pode se tornar difícil de navegar, mesmo quando formatado. Nesses casos:
JSON suporta Unicode, mas alguns formatadores podem ter problemas com certos caracteres:
JSON não especifica precisão para números, o que pode levar a problemas com inteiros muito grandes ou valores de ponto flutuante:
JSON válido inclui objetos vazios {}
e arrays []
, que devem ser formatados adequadamente:
{}
[]
Descubra mais ferramentas que podem ser úteis para o seu fluxo de trabalho