Formato JSON

Formato JSON

Formato JSON

JSON É um formato de troca de dados baseado em texto, o que significa que é fácil de ler tanto para uma pessoa quanto para um programa. Seu nome corresponde à sigla inglesa de Notação de Objeto JavaScript e é padronizado como ECMA-404. Embora seja um formato muito próximo em sintaxe do JavaScript, por ser muito fácil de processar para codificar dados de objetos ou obtê-los, também é usado em muitas outras linguagens de programação (C, C + +, Java, Python...) como alternativa, por exemplo, ao XML, que tem um objetivo semelhante mas, por incluir mais meta-informação, requer mais texto e por isso ocupa mais espaço, consome mais largura de banda e requer mais recursos para codificar e descodificar as informações que ele contém. JSON.

Tabela de conteúdos

    Os dados de um objeto codificado em JSON Eles estão entre colchetes, as diferentes propriedades incluídas neles são separadas por vírgulas e os nomes das propriedades precedem o valor, do qual são separados por dois pontos.

    Esboço da sintaxe de um objeto no formato JSON

    Os nomes das propriedades devem ser colocados entre aspas usando aspas duplas (embora alguns analisadores suportem aspas simples) e, embora alguns caracteres especiais sejam permitidos para nomes (como acentos), não é recomendado evitar os critérios de alguns mecanismos de análise e evite conflitos ao usar propriedades, especialmente com a sintaxe dot(object.property)

    No exemplo acima você pode ver um objeto que possui seis propriedades com valores simples, numéricos, booleanos ou de texto; mas no formato JSON, as propriedades também podem adquirir como valor um objeto (incluindo o "objeto especial" nulo) ou um array além de uma string de texto (um texto entre aspas), um número (em diferentes formatos) ou um valor booleano (verdadeiro ou falso ).

    Tal como acontece com a linguagem JavaScript (JSON é um subconjunto de JavaScript) para expressar uma matriz, seus valores são colocados entre colchetes e separados por vírgulas. O caso mais simples é ilustrado no exemplo abaixo; É uma matriz unidimensional, um vetor, composto de valores numéricos.

    En JavaScript Não é necessário que todos os elementos de um array sejam do mesmo tipo, você pode misturar, por exemplo, strings de texto e valores numéricos. Um vetor, uma matriz unidimensional, também pode ser um dos elementos de outra matriz, permitindo a construção de matrizes multidimensionais de comprimentos variáveis. O exemplo a seguir mostra um objeto com três propriedades: a primeira um array bidimensional de comprimentos fixos, a segunda comprimentos variáveis ​​e a terceira formada por um array com valores de diferentes tipos.

    O exemplo a seguir usa outros objetos como valores para as propriedades do objeto pai. Não há limite no nível de aninhamento então, por sua vez, objetos que são valores de propriedade do pai também podem ter outros objetos como seus valores de propriedade e assim por diante.

    Assim como acontece com JavaScript, os códigos de escape são usados ​​para incluir determinados caracteres em uma sequência de texto. A forma mais genérica é usar códigos Unicode expressos com a barra de escape, a letra u e quatro dígitos hexadecimais com o formato "\u263A" para se referir a ☺ por exemplo.

    Os caracteres padrão, presentes na maioria dos idiomas (semelhantes ao C) são os seguintes

    • Backspace \b Código ASCII 8 (0x08)
    • Tabulador \t Código ASCII 9 (0x09) Geralmente é representado como HT (tabulador horizontal)
    • Nova linha \n Código ASCII 10 (0x0A) Geralmente é representado como LF (line feed)
    • Nova página \f Código ASCII 12 (0x0C) Geralmente representado como FF (alimentação de formulário)
    • Retorna \r Código ASCII 13 (0x0D) Geralmente é representado como CR (retorno de carro)
    • Comillas \" Código ASCII 34 (0x22)
    • barra dividida \/ Código ASCII 57 (0x2F)
    • barra invertida \\ Código ASCII 134 (0x5C)
    • código Unicode \uXXXX

    Derivado de C (e relacionado a Unix e similares, como GNU / Linux) o final da linha geralmente é representado com \n e é aquele que deve ser escolhido em JSON mas é interessante lembrar que alguns sistemas operacionais preferem outras alternativas. O Windows geralmente representa com \r\n finais de linha e Mac OS (antes do OS \r

    Quanto ao formato numérico, a referência também é JavaScript. O separador decimal é o ponto final, o travessão (ASCII 45 0x2D) é usado como sinal negativo e o notação em forma exponencial (Notação científica) usa E como indicador (que pode ser maiúsculo ou minúsculo)

    Como disse no início, para utilizar os dados, que terão sido obtidos em forma de texto, as diferentes linguagens de programação possuem funções de análise e atribuição. O exemplo a seguir mostra como eles seriam usados ​​em JavaScript. Para poder utilizá-lo desde um console, a atribuição de dados está incluída JSON Para evitar possíveis erros dependendo do padrão ECMA utilizado pelo intérprete JavaScript a atribuição do objeto é feita JSON em uma única linha. Edição 6 de 2016 (ECMA-262) suporta strings multilinhas, a edição 5 (até 2011) precisa adicionar código de escape \ e nos anteriores você tem que resolver manualmente ou usar uma única linha.

    Um aviso para não confundir novos usuários em JavaScript. Dentro do código JavaScript Não é necessário utilizar uma string de texto para criar um objeto, no exemplo anterior ela é utilizada para simular dados que chegam, por exemplo, de um servidor. Para atribuir um objeto a uma variável, algo como:

    Esse objeto poderia ser convertido em texto, por exemplo, com a função stringify como se segue:

    O formato JSON É bastante flexível, mas, principalmente por ser baseado em texto para ser legível por humanos, apresenta algumas desvantagens. A primeira é que requer mais memória e consome mais largura de banda do que o necessário. Nos exemplos anteriores foi utilizado um formato que pretende ser mais legível do que económico, pelo que não são exemplo de poupança, embora existam muitos elementos do formato (colchetes, parênteses, aspas...) que continuariam consumir recursos em comparação com a informação representada em bruto.

    O segundo problema surge quando se trata de dados puramente binários (por exemplo, imagens), quando se trata de pequenas porções pode ser resolvido com o que foi explicado para resolver a formatação de caracteres especiais, mas se se trata de codificação de informações de determinadas dimensões, será necessário incorporá-lo dentro do Formato JSON usando outro formato de texto. A codificação mais utilizada para resolver este aspecto é Base 64 já que muitas linguagens possuem bibliotecas para converter informações em uma direção ou outra. Se os dados que estão sendo manipulados forem predominantemente deste tipo e/ou não for necessário que uma pessoa interprete a informação sem um programa, vale a pena considerar se o formato JSON é o mais adequado.

    Postar Comentário

    Você pode ter perdido