Promoção no ar
Tempo restante da oferta:
15 Horas
14 Min
35 Seg
Assinar →

JSON vs Objeto JavaScript - Qual a diferença?

Muitas pessoas acreditam que JSON e Objeto JavaScript são a mesma coisa. Descubra a diferença.

Akira Hanashiro 10 anos atrás

Olá, Web Developers!

Há algum tempo eu escrevi um post onde eu chamei um objeto de JSON, e um leitor me corrigiu. Ele estava completamente certo!

Muitas pessoas (inclusive eu) possuem a mania de chamar qualquer objeto JavaScript de JSON e muitas acreditam que são a mesma coisa. Isso está errado e eu notei que há muitas pessoas perguntando essa diferença, inclusive em grupos do Facebook e no StackOverflow.

Curso Kotlin - Fundamentos Conhecer o curso

Qual a diferença entre um Objeto Literal e o JSON?

Muitos sabem que o nome JSON vem de “JavaScript Object Notation”. Então, por que objetos JavaScript escritos de forma literal nem sempre são JSON?

{
   "a": 2,
   "b": 3
}

O exemplo acima pode ser considerado tanto um objeto literal em JavaScript quanto um JSON. Acontece que o JSON é um formato usado para a transferência de dados, independente de linguagem de programação, assim como o XML, CSV ou YAML.

Apesar da sintaxe de um objeto literal e do JSON serem muito parecidas (a ponto de podermos usar um JSON como objeto literal), o JSON possui especificações. Se sairmos dessas especificações, não estamos mais falando de um JSON.

Principais Diferenças entre JSON e Objeto Literal JavaScript

Chaves - As chaves no JSON devem vir entre aspas duplas. No Objeto Literal, as chaves podem ser strings com aspas simples, duplas, sem aspas, variáveis ou Symbols.

Valores - O Objeto Literal JavaScript aceita qualquer tipo de dado presente na linguagem (como Date) e até funções.

O JSON só aceita os seguintes tipos de valor:

  • string
  • number
  • boolean
  • null
  • array
  • outro JSON

Por essas limitações que o MongoDB usa o chamado BSON ao invés do JSON para armazenar dados. Além de armazenar o JSON em um formato binário, também adiciona suporte a outros tipos de dados, como:

  • integer
  • double
  • date
  • byte array
  • objeto BSON
  • array BSON
  • código JavaScript
  • dados binários em MD5
  • expressões regulares

Finalizando

Então, quando estamos transferindo dados, estamos falando de JSON, um formato de transferência de dados. Quando o JSON é interpretado por uma linguagem de programação, ele é convertido para um objeto (pode ser C#, Ruby(hash), Python(dictionary), Java, etc). Mesmo que no JavaScript a sintaxe de um objeto literal seja igual, ele não é um JSON.

Curso Node.js - Introdução ao Prisma ORM Conhecer o curso

Continue lendo

Artigos relacionados

Um ano de acesso total para você viver de programação.

Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro console.log ao mercado de trabalho.

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Aplicativos para Android e iOS, com acesso offline
Garantia incondicional de satisfação

Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

Acesso completo a todos os cursos e dezenas de Formações.

12 meses
Economize R$ 840,00 54% OFF

de 12x R$ 129,00 por apenas

12x R$ 59,00

sem juros no cartão de crédito ou R$ 599,00 à vista

Oferta termina em 15h 14min 35s

  • Acesso imediato e ilimitado durante 1 ano.
  • Plano de carreira personalizado.
  • Suporte direto com professores.
  • E muito mais!
Matricule-se agora