JSON suporta seis tipos de dados. Entendê-los ajuda você a estruturar dados corretamente e evitar erros de validação.
Strings são texto envolvido em aspas duplas. Caracteres especiais como quebras de linha precisam de sequências de escape como \n. Unicode é totalmente suportado.
Números podem ser inteiros ou decimais, positivos ou negativos. Notação científica também funciona. Mas sem zeros iniciais, sem NaN, sem Infinity.
Booleanos são true ou false em minúsculas. Sem aspas ao redor. Usar "true" o torna uma string, não um booleano.
Null representa um valor vazio ou ausente. null em minúsculas, sem aspas. Diferente de uma string vazia ou zero.
Arrays são listas ordenadas em colchetes. Podem conter qualquer mistura de tipos de dados, incluindo outros arrays e objetos.
Objetos são pares chave-valor em chaves. Chaves devem ser strings. Valores podem ser qualquer tipo. Objetos podem aninhar indefinidamente.