Artigos > Programação

O que é JSON?

Gabriel Leite
Gabriel Leite

Imagine que você precise desenvolver a funcionalidade de pagamento de faturas para uma nova fintech com o objetivo de fazer com que o tráfego de dados fosse o mínimo possível para que tudo continuasse funcionando bem mesmo em redes mais lentas ou com largura de banda menor.

O que é JSON?

O formato JSON (JavaScript Object Notation) é, como o nome sugere, uma forma de notação de objetos JavaScript de modo que eles possam ser representados de uma forma comum a diversas linguagens.

Além disso, uma ideia que está fortemente enraizada neste formato é que ele seja facilmente trafegado entre aplicações em quaisquer protocolos, inclusive o HTTP. Portanto, a principal diferença entre um objeto JavaScript padrão e um JSON é o fato do JSON ser na realidade: um texto.

Regras de utilização

Um JSON deve conter apenas informações que possam ser representadas em formato de texto. Listei algumas regras:

Desta forma, imagine o envio do pagamento de uma nova fatura com o nome do cliente, um identificador numérico qualquer do cliente e uma lista de pagamentos a serem feitos na fatura em questão. Tais informações teriam, em JSON, o seguinte formato:

{
   "cliente": {
       "id": 2020,
       "nome": "Maria Aparecida"
   },
   "pagamentos": [
       {
           "id": 123,
           "descricacao": "Compra do livro Cangaceiro JavaScript",
           "valor": 50.5
       },
       {
           "id": 124,
           "descricacao": "Mensalidade escolar",
           "valor": 1500
       }
   ]
}

Embora se assemelhe com um objeto JavaScript literal, o JSON apresentado segue exatamente todas as regras que citei anteriormente. Além disso, é um formato muito mais simples e menos burocrático do que o mundialmente famoso XML que durante muito tempo foi utilizado como padrão para envio de informações entre aplicações.

Como você está usando JavaScript, Java e PHP nas aplicações em que estão envolvidos, trouxe um pequeno exemplo nestas linguagens:

// JavaScript

const fatura = // Criação do objeto fatura.

const faturaJSON = JSON.stringify(fatura); // Transforma o objeto literal em JSON.

const novamenteObjFatura = JSON.parse(faturaJSON); // Transforma o JSON em objeto literal.
// PHP

$fatura = // Criação do objeto fatura.

$faturaJSON = json_encode($meuObj); // Transforma o objeto em JSON.

$novamenteObjFatura = json_decode($faturaJSON); // Transforma o JSON em objeto.
// Java usando a biblioteca Jackson

Fatura fatura = // Criação do objeto fatura.

ObjectMapper mapper = new ObjectMapper();

String jsonString = mapper.writeValueAsString(fatura); // Objeto Java para JSON string.

Fatura novamenteFatura = mapper.readValue(jsonString, Fatura.class); //JSON string para objeto Java.

Com isso, você vai conseguir trafegar as informações que precisa atendendo aos requisitos que levantamos no início deste artigo.

Ainda há uma questão que vocês nem mesmo perceberam! O que acontecerá quando persistir em suas aplicações o nome de uma cliente que, porventura, se chame, digamos, Joana D'arc? Você não sabe? Fique atento(a)! No próximo artigo vou mostrar a você o que este simples nome pode gerar!

Saiba mais na Alura

Gostou e se interessou por este conteúdo? Aqui na Alura temos cursos na área de programação em C# para você!.

Artigos de Tecnologia e Negócios > Programação

Cursos profissionais de Programação é na Alura, comece agora!

  • 1245 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1245 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1245 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1245 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Conheça os Planos para Empresas

Acesso por 1 ano

Estude 24h/dia onde e quando quiser

Novos cursos todas as semanas