2
respostas

E para vincular a documento JS o Json?

Ontem estava tentando vincular um arquivo json no arquivo JS e tive que usar require porque simplesmente JSON.parse não funcionou.

Gostaria muito de um exemplo claro, porque não vejo nos arquivo JSON a criação de variável como aqui no material do curso:

const jsonLivro = JSON.stringify({
 id: 50,
 titulo: "Primeiros Passos com NodeJS",
 autor: "João Rubens",
 categoria: "programação",
 versoes: ["ebook", "impresso"]
})

Os arquivos JSON que vejo são assim como foi mostrado no inicio do material:

{
 "editora": "Casa do Código",
 "catalogo": [
 {
   "id": 50,
   "titulo": "Primeiros Passos com NodeJS",
   "autor": "João Rubens",
   "categoria": "programação",
   "versoes": ["ebook", "impresso"]
 },
 {
   "id": 59,
   "titulo": "ECMAScript 6",
   "autor": "Diego Martins de Pinho",
   "categoria": "programação",
   "versoes": ["ebook"]
 },
 {
 "id": 39,
 "titulo": "Orientação a Objetos",
 "autor": "Thiago Leite",
 "categoria": "programação",
 "versoes": ["ebook", "impresso"]
 }
]}

E no entanto, não entendi como vou pegar esse arquivo JSON e converter ele a um objeto JS. Ficou parecendo, para mim que sou iniciante na programação, que tenho que criar uma variável e copiar dentro dessa variável todo o arquivo JSON... E pravavelmente não é assim, pois naõ faz o menor sentido.

Alguém poderia me esclarecer melhor, por favor?

Obrigada !

2 respostas

Oi Nayana,

O JSON.stringify converte um objeto em um json dentro de uma string. É útil em casos onde você não vai poder passar o objeto diretamente.

O JSON.parse faz o contrário, converte um json dentro de uma string em um objeto.

Não sei se entendi muito bem sua dúvida, mas se sua preocupação for em relação à aparência como no print abaixo onde a função stringify gera um texto do objeto sem nenhum tipo de identação:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Você consegue identar usando a mesma função, mas passando dois parâmetros adicionais conforme a imagem abaixo, onde o número 2 é a quantidade de espaços que serão usados na identação:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Espero ter ajudado!

Abraço

muito obrigada Tiago.acabei não sabendo perguntar tão bem . Mas ontem , eu fiquei até mt tarde e encontrei uma solução para o que eu buscava com a API fetch(). Mas a sua resposta me mostrou mais coisas novas que não sabia. mt obrigada.