Tema: interoperability
-
Armadilhas dos números em JSON: inteiros acima de 2^53, NaN e Infinity, e decimais exatos
A RFC 8259 deixa a precisão dos números a cargo das implementações e proíbe NaN e Infinity; a I-JSON (RFC 7493) recomenda ficar dentro do IEEE 754 binary64 e codificar valores maiores, como inteiros de 64 bits, como strings. O módulo json do Python emite NaN por padrão e o JSON.stringify do JavaScript o converte em null, por isso um JSON interoperável exige contratos numéricos explícitos por campo.
-
XML hoje: bem formado versus válido, namespaces e quando ainda é a escolha certa
Um documento XML bem formado respeita a sintaxe; um documento válido também satisfaz um DTD ou schema. Os namespaces dão a cada elemento e atributo um nome expandido, formado pela URI do namespace mais o nome local, associado por declarações xmlns cujos prefixos são arbitrários e cuja forma padrão não se aplica a atributos. O XML continua a ser a escolha certa para documentos de conteúdo misto e para ecossistemas cujos vocabulários e ferramentas já são XML.
Legível por máquina: JSON