ToolHub
View All Posts

Como validar JSON: Guia completa com exemplos

JSON (JavaScript Object Notation) é a piedra angular das APIs web modernas, os arquivos de configuração e o intercambio de datos. Mas um JSON inválido pode causar fallos na aplicação, integraciones de API quebradas e horas de depuração frustrante. Esta guia te guiará através de todo lo que necessitas saber para validar JSON, desde verificaciones básicas de sintaxe até validação avanzada com Schema usando exemplos do mundo real.

Por que é importante a validação JSON

O JSON inválido é uma das fuentes mais comuns de erros em aplicaciones web. Uma coma mal colocada, uma clave sem comillas o uma coma final podem causar que JSON.parse() lance um SyntaxError, bloqueando todo o pipeline de datos. A validação detecta estes erros temprano, antes de que se propaguen através de tua sistema e causen fallos posteriores.

Mais lá de a correcção sintáctica, a validação também asegura que os datos JSON se ajusten a a estrutura esperada. Uma API pode devolver JSON válido mas com campos requeridos faltantes, tipos de datos incorrectos o valores fora de rangos aceitáveis. A validação com Schema resolve estes problemas estructurales.

Regras de sintaxe JSON

Antes de profundizar nas ferramentas de validação, é crucial compreender as regras que fazem que JSON seja válido. JSON tem uma sintaxe estricta definida por RFC 8259, e inclusive uma violação de um solo carácter pode invalidar todo o documento.

As cadenas devem usar comillas doveis

Todos os valores de cadena e as claves de objeto devem estar entre comillas doveis. As comillas simples no são um delimitador de cadena JSON válido, um error comum dois desenvolvedores que vêm de JavaScript.

// Invalid - single quotes
{'name': 'Alice', 'age': 30}

// Valid - double quotes
{"name": "Alice", "age": 30}

As claves de objeto devem levar comillas

A diferença dois literales de objeto de JavaScript, JSON requer que todas as claves de objeto estén entre comillas doveis. As claves sem comillas são um error de sintaxe.

// Invalid - unquoted keys
{name: "Alice", age: 30}

// Valid - quoted keys
{"name": "Alice", "age": 30}

No se permitem comas finales

JSON no permite comas depois do último elemento de um objeto o array. Este é outro error comum, especialmente ao editar JSON manualmente.

// Invalid - trailing comma
{
  "name": "Alice",
  "age": 30,
}

// Valid - no trailing comma
{
  "name": "Alice",
  "age": 30
}

No se admitem comentarios

JSON no soporta comentarios. Nem os comentarios de uma única linha // nem os de múltiples linhas /* */ são válidos em JSON. Se necessitas documentação, usa um arquivo separado o formatos como JSONC.

Erros comuns de validação JSON

Compreender os erros mais comuns te ajuda a detectarlos e solucionarlos rápidamente. Aquí estão os erros que encontrarás com mais frecuencia:

Validar JSON em JavaScript

A forma mais simple de validar JSON em JavaScript é envolver JSON.parse() em um bloque try-catch. Se o JSON é inválido, o método lanza um SyntaxError.

function validateJSON(jsonString) {
  try {
    JSON.parse(jsonString);
    return { valid: true };
  } catch (error) {
    return {
      valid: false,
      error: error.message
    };
  }
}

const result = validateJSON('{"name": "Alice"}');
console.log(result);
// { valid: true }

const badResult = validateJSON("{'name': 'Alice'}");
console.log(badResult);
// { valid: false, error: "Unexpected token '..." }

Validar JSON em Python

Python proporciona o módulo json com json.loads() para analizar cadenas JSON. Similar a JavaScript, o JSON inválido genera um json.JSONDecodeError com informação detalhada de ubicação.

import json

def validate_json(json_string):
    try:
        json.loads(json_string)
        return {"valid": True}
    except json.JSONDecodeError as e:
        return {
            "valid": False,
            "error": str(e),
            "line": e.lineno,
            "column": e.colno
        }

result = validate_json('{"name": "Alice"}')
print(result)
# {'valid': True}

Validação com JSON Schema

A validação sintáctica solo te diz se o JSON está bem formado. JSON Schema te permite definir a estrutura esperada e validar os datos contra ela. Os Schemas especifican campos requeridos, tipos de datos, rangos de valores, patrones de cadena e estruturas de objetos anidados.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": ["name", "email"],
  "properties": {
    "name": { "type": "string", "minLength": 1 },
    "email": { "type": "string", "format": "email" },
    "age": { "type": "integer", "minimum": 0 }
  }
}

Os validadores JSON Schema populares incluem Ajv para JavaScript, jsonschema para Python e json-schema-validator para Java. Estas bibliotecas validan datos JSON contra tua Schema e generan mensajes de error detalhados para cada violação.

Ferramentas de validação JSON online

Quando necessitas verificar rápidamente um documento JSON sem escrever código, os validadores online são a opção mais rápida. Proporcionam retroalimentação instantánea com resaltado de erros e números de linha.

Experimenta o validador JSON de ToolHub para validar tuas datos JSON ao instante. Proporciona mensajes de error detalhados com números de linha e columna, validação em tiempo real enquanto escribes e formateo com um solo clic.

Melhores práticas de validação JSON

Listo para validar tuas datos JSON? Experimenta nosso validador JSON online gratuito, que oferece detecção instantánea de erros e retroalimentação detalhada.

Valida JSON agora

Perguntas frequentes

Que é a validação JSON?

A validação JSON é o proceso de verificar que um documento JSON cumpla com as regras de sintaxe corretas e, opcionalmente, com um Schema definido. A validação sintáctica asegura que o JSON esté bem formado, enquanto que a validação com Schema asegura que a estrutura de datos coincida com os tipos esperados, campos requeridos e restricciones de valor.

Quais são os erros JSON mais comuns?

Os erros JSON mais comuns incluem: comas finales depois do último elemento, uso de comillas simples em vez de doveis, claves de objeto sem comillas, comentarios (no permitidos em JSON) e valores undefined o NaN. Estes erros causan que JSON.parse() lance um SyntaxError.

Como valido JSON em JavaScript?

Usa JSON.parse() envolvido em um bloque try-catch. Se o JSON é inválido, JSON.parse() lanza um SyntaxError que podes capturar e manejar. Para validação com Schema, usa bibliotecas como Ajv que implementan a validação JSON Schema.

Novo em Draft 2020-12. Soporta referencias dinámicas a Schemas.

JSON Schema é um vocabulario que te permite anotar e validar documentos JSON. Define a estrutura esperada, tipos, campos requeridos, rangos de valores, patrones de cadena e estruturas de objetos anidados. Podes usarlo para validar que os datos JSON se ajusten a um formato específico mais lá de a correcção sintáctica básica.

Posso validar JSON online?

Sí, ferramentas de validação JSON online como o validador JSON de ToolHub te permitem pegar datos JSON e ver instantáneamente se são válidos, com mensajes de error detalhados que muestran a linha e columna exatas onde ocurrió o error.