O XML deu aos dados de máquina para máquina uma gramática de tags, namespaces e esquemas — expressiva, e pesada o suficiente para que enviar um simples registro significasse escrever um documento. O JSON seguiu o caminho oposto: como diz sua página inicial, o JSON é construído sobre duas estruturas, uma coleção de pares nome/valor e uma lista ordenada de valores, escritas com as convenções já familiares aos programadores de C, C++, C#, Java, JavaScript, Perl e Python — e é exatamente por isso que essas páginas o chamam de linguagem ideal para intercâmbio de dados.

A linhagem do formato e sua fuga do JavaScript aparecem ambas em sua padronização. A RFC 8259, 'The JavaScript Object Notation (JSON) Data Interchange Format', descreve um formato de intercâmbio de dados leve, baseado em texto e independente de linguagem, derivado dos literais de JavaScript conforme definidos no ECMAScript — reconhecível por todo navegador web, mas de propriedade de nenhum deles. O Grupo de Trabalho de JSON da IETF o conduziu da RFC 7159 até a RFC 8259, tornando o JSON um Padrão da Internet em dezembro de 2017.

A consequência foi o deslocamento. Onde as APIs antes negociavam esquemas XML, agora retornam objetos e arrays que qualquer programador consegue ler de relance — um formato que chegou ao processo de padronização apenas após a adoção, em vez de precisar do processo de padronização para recrutar adotantes.

Duas estruturas bastam para toda API

Duas estruturas — objetos e arrays — compõem quase todas as formas de dados que os programas trocam entre sistemas, de modo que o formato não precisou de mecanismo de extensão.

Derivar a sintaxe dos literais de JavaScript tornou o formato imediatamente legível para a população de desenvolvedores que mais crescia, enquanto a independência de linguagem manteve todas as outras comunidades dentro.

Nenhum esquema ou vocabulário de tags era exigido, de modo que uma API podia alterar seu payload sem coordenar uma definição de tipo de documento.

A padronização pela IETF após a adoção selou a interoperabilidade sem impor o peso que tornava seu predecessor pouco atraente.

Um formato vence pela subtração: menos constructos significam menos divergências, e um formato de dados que qualquer programador consegue ler sem documentação remove a resistência que travou predecessores mais ricos.

A RFC 8259 tornou o JSON um Padrão da Internet oficial em dezembro de 2017, quando ele já havia se tornado o formato de intercâmbio padrão para APIs web, configuração e dados de log — um caso raro de um formato sendo padronizado por um grupo de trabalho que ratificou o comportamento já existente no mundo.

CONFIRA AS EVIDÊNCIAS

As fontes

  1. RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format IETF (Datatracker) · datatracker.ietf.org ·
  2. Introducing JSON json.org · json.org