Node.js é um ambiente de execução de plataforma cruzada e código aberto para a execução de código JavaScript fora do navegador. É amplamente utilizado no desenvolvimento de APIs e microsserviços de pequenas a grandes empresas.

JSON ou JavaScript Object Notation é um formato leve de intercâmbio de dados baseado em texto. Assim como o XML, é uma das formas de troca de informações entre aplicativos. Este formato de dados é amplamente usado por aplicativos da web / APIs para se comunicarem entre si.

Lendo um arquivo JSON:

  • Método 1: Usando o método require: O método mais simples para ler um arquivo JSON é solicitá-lo em um arquivo node.js usando o require()método.

    Sintaxe:

    dados const = require ('caminho / para / arquivo / nome do arquivo');

    Exemplo: Crie um arquivo users.json no mesmo diretório onde o arquivo index.js está presente. Adicione os dados a seguir ao arquivo json.



    arquivo users.json:




    [
      
        "name": "John"
        "age": 21,
        "language": ["JavaScript", "PHP", "Python"
      },
      {
         "name": "Smith",
         "age": 25,
         "language": ["PHP", "Go", "JavaScript"
      }
    ]

    Agora, adicione o seguinte código ao seu index.jsarquivo.

    arquivo index.js:




    // Requiring users file
    const users = require("./users");
      
    console.log(users);

    Agora, execute o arquivo usando o comando:

    node index.js

    Saída:

  • Método 2: usando o módulo fs: também podemos usar o módulo node.js fs para ler um arquivo. O fsmódulo retorna um conteúdo de arquivo em formato de string, portanto, precisamos convertê-lo para o formato JSON usando o método embutido JSON.parse() .
    Adicione o seguinte código ao seu index.jsarquivo:
    arquivo index.js:




    const fs = require("fs");
       
    // Read users.json file
    fs.readFile("users.json", function(err, data) {
          
        // Check for errors
        if (err) throw err;
       
        // Converting to JSON
        const users = JSON.parse(data);
          
        console.log(users); // Print users 
    });

    Agora execute o arquivo novamente e você verá uma saída como esta:
    Saída:

Gravando em um arquivo JSON: podemos gravar dados em um arquivo JSON usando o módulo node.js fs . Podemos usar o método writeFile para escrever dados em um arquivo.

Sintaxe:

fs.writeFile("filename", data, callback);

Exemplo: vamos adicionar um novo usuário ao arquivo JSON existente, criado no exemplo anterior. Esta tarefa será concluída em três etapas:

  • Leia o arquivo usando um dos métodos acima.
  • Adicione os dados usando o .push()método.
  • Grave os novos dados no arquivo usando o JSON.stringify()método para converter os dados em string.
const fs = require("fs");
  
// STEP 1: Reading JSON file
const users = require("./users");
   
// Defining new user
let user = {
    name: "New User",
    age: 30,
    language: ["PHP", "Go", "JavaScript"]
};
   
// STEP 2: Adding new data to users object
users.push(user);
   
// STEP 3: Writing to a file
fs.writeFile("users.json", JSON.stringify(users), err => {
     
    // Checking for errors
    if (err) throw err; 
   
    console.log("Done writing"); // Success
});

Execute o arquivo novamente e você verá uma mensagem no console:

Agora verifique seu arquivo users.json, ele terá a seguinte aparência: