Json com JavaScript

Boa tarde Pessoal,

Estou estudando sobre Json (usando o NODE), porém não consigo entender para que serve e também em qual momento vou usa-lo, alguém poderia me ajudar?

JSON ou Javascript Object Notation é um padrão de construção de informações, baseado na estrutura de objetos do javascript.
Você vai usar sempre que precisar consumir uma API REST ou qualquer outra API que ofereça JSON como opção para envio/recebimento.

JSON é um presente de Deus para a humanidade. Fora isso, é tudo que o Darlan disse.

JSON é só uma forma de estruturar, armazenar e transmitir informação em arquivos de texto comuns.

Se está usando Node, provavelmente já usou o NPM. O package.json que o NPM cria é um exemplo de uso deste formato.

Digamos que vc quer criar uma game engine que armazena dados do jogador em um arquivo. Ao invés de jogar esses dados num arquivo de texto assim:

name AmazingHero
is_dead false
life_max 20
power_level 9000
items helmet gloves sword

Vc poderia usar o formato JSON pra manter as coisas mais organizadas

{
  "name": "AmazingHero",
  "is_dead": false,
  "life_max": 20,
  "power_level": 9000,
  "items": [ "helmet", "gloves", "sword" ]
}

Não sou especialista, mas na minha opinião, a vantagem do JSON é que ele é bastante portável. Qualquer um é capaz de escrever um parser pra ele (ou usar um dos muitos existentes para qualquer linguagem).

De cara, só olhando rápido vc já é capaz de dizer que “name” é do tipo string, “is_dead” é um booleano, “life_max” e “power_level” são números e que “items” é um array de strings. Esta clareza não existe se vc seguisse o primeiro formato que mostrei.

Outro formato ainda usado para este mesmo fim é o XML, mas ele também não deixa óbvio quais são os tipos de cada dado contido ali.

Outro formato interessante e mais “limpo” que o JSON é o YAML. Vejo ele sendo usado em alguns lugares, mas não saberia dizer vantagens e desvantagens em relação ao JSON.