JSON

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
.json
JSON vector logo.svg
Extensão do arquivo .json
MIME application/json
Última versão Dezembro de 2009
Variante de JavaScript
Variado para BSON, RSON, GeoJSON, JsonML, Jayrock
Padronização RFC 4627

Em computação, JSON (com a pronúncia ['dʒejzən], J-son em inglês), um acrônimo para "JavaScript Object Notation", é um formato de padrão aberto que utiliza texto legível a humanos para transmitir objetos de dados consistindo de pares atributo-valor. É o formato de dados mais utilizado em web services REST e aplicações AJAX, substituindo amplamente o XML para esses fins.

O JSON é um formato de dados independente de linguagem. Deriva do JavaScript,[1][2] mas a partir de 2017 muitas linguagens de programação incluem código para gerar e analisar sintaticamente dados em formato JSON. O tipo de mídia da Internet oficial para o JSON é application/json. Nomes de arquivos JSON usam a extensão .json.

Douglas Crockford especificou originalmente o formato JSON no início dos anos 2000. Dois padrões concorrentes, RFC 7159 e ECMA-404, o definiram em 2013.

O RFC 7493 define um perfil restrito de JSON, conhecido como I-JSON (abreviação para "Internet JSON), que visa superar alguns problemas de interoperabilidade com o JSON. Cada documento I-JSON é um documento JSON válido mas nem todo documento JSON válido é um documento I-JSON válido.

Descrição[editar | editar código-fonte]

A simplicidade de JSON tem resultado em seu uso difundido, especialmente como uma alternativa para XML em AJAX. Uma das vantagens reivindicadas de JSON sobre XML como um formato para intercâmbio de dados neste contexto, é o fato de ser muito mais fácil escrever um analisador JSON. Em JavaScript mesmo, JSON pode ser analisado trivialmente usando a função eval(). Isto foi importante para a aceitação de JSON dentro da comunidade AJAX devido a presença deste recurso de JavaScript em todos os navegadores web atuais.

Na prática, os argumentos a respeito da facilidade de desenvolvimento e desempenho do analisador são raramente revelados devido aos interesses de segurança no uso de eval() e a crescente integração de processamento XML nos navegadores web modernos. Por esta razão JSON é tipicamente usado em ambientes onde o tamanho do fluxo de dados entre o cliente e o servidor é de supra importância (daí seu uso por Google, Yahoo, etc., os quais servem milhões de usuários), onde a fonte dos dados pode ser explicitamente confiável, e onde a perda dos recursos de processamento XSLT no lado cliente para manipulação de dados ou geração da interface, não é uma consideração.

Enquanto JSON é frequentemente posicionado "em confronto" com XML, não é incomum ver tanto JSON como XML sendo usados na mesma aplicação. Por exemplo, uma aplicação no lado cliente a qual integra dados do Google Maps com dados atmosféricos através de SOAP, requer suporte para ambos formatos de dados.

Existe um crescente suporte para JSON através do uso de pequenos pacotes de terceiros. A lista de linguagens suportadas incluem ActionScript, C/C++, C#, ColdFusion, Java, JavaScript, OCaml, Perl, PHP, ASP 3.0, Python, Rebol, Ruby, Lua, Progress 4GL, Go Lang.

Em Dezembro de 2005, Yahoo! começou a suportar JSON como uma opção para alguns de seus serviços Web.[3]

Tipos de dados, sintaxe e exemplo[editar | editar código-fonte]

Os tipos de dados básicos do JSON são:

  • Number: um número decimal sinalizado que pode conter uma parte fracional e pode usar a notação E exponencial, mas não pode incluir não-números como NaN.

Exemplo[editar | editar código-fonte]

{ "Alunos" : [ 
        { "nome": "João", "notas": [ 8, 9, 5 ]  },
        { "nome": "Maria", "notas": [ 8, 10, 7 ] },
        { "nome": "José", "notas": [ 10, 10, 9 ] } 
    ]
}

Referências

  1. «ECMA-404 The JSON Data Interchange Standard.». json.org. Consultado em 23 de janeiro de 2015 
  2. «Network Working Group». ietf.org (em inglês). Consultado em 23 de janeiro de 2015 
  3. «Yahoo Mobile Developer Conference». developer.yahoo.com. Consultado em 23 de janeiro de 2015 

Ligações Externas[editar | editar código-fonte]

Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.