Executando verificação de segurança...
1

Duvida: JavaScript - Desenvolver uma aplicação que vai ler um arquivo *.json

Bom dia a todos
Estou estudando javascript e me deparei com uma dificuldade e preciso de ajuda

**Objetivo do estudo: **desenvolver uma aplicação que vai ler um arquivo *.json

Conteudo do index.js

const express = require('express');
const app = express();
const fs = require('fs');

const cfopFilePath = './arquivo.json';

app.get('/teste', (req, res) => {
fs.readFile(cfopFilePath, 'utf8', (err, data) => {
if (err) {
console.error('Erro ao ler o arquivo cfop.json:', err.message);
res.status(500).json({ error: 'Erro ao ler o arquivo cfop.json' });
return;
}

    console.log('Conteúdo do arquivo arquivo.json:', data);

    try {
        const cfopData = JSON.parse(data);
        res.setHeader('Content-Type', 'application/json'); // Adicionar este cabeçalho
        res.json(cfopData);
    } catch (error) {
        console.error('Erro ao fazer parsing do JSON:', error.message);
        res.status(500).json({ error: 'Erro ao fazer parsing do JSON' });
    }
});

});

app.listen(3000, () => {
console.log('A aplicação está executando em http://localhost:3000');
});


Quando executo a aplicação, ela roda normal, inclusive mostrando o arquivo json.
Porém, quando tento acessar http://localhost:3000/teste pelo navegador de internet, aparece o erro: error "Erro ao fazer parsing do JSON"

Abaixo o conteudo do arquivo:
[{"Unidade":"AMPOLA","Descricao":"AMPOLA"},{"Unidade":"BALDE","Descricao":"BALDE"},{"Unidade":"BANDEJ","Descricao":"BANDEJA"},{"Unidade":"BARRA","Descricao":"BARRA"},{"Unidade":"BISNAG","Descricao":"BISNAGA"},{"Unidade":"BLOCO","Descricao":"BLOCO"},{"Unidade":"BOBINA","Descricao":"BOBINA"},{"Unidade":"BOMB","Descricao":"BOMBONA"},{"Unidade":"CAPS","Descricao":"CAPSULA"},{"Unidade":"CART","Descricao":"CARTELA"},{"Unidade":"CENTO","Descricao":"CENTO"},{"Unidade":"CJ","Descricao":"CONJUNTO"},{"Unidade":"CM","Descricao":"CENTIMETRO"},{"Unidade":"CM2","Descricao":"CENTIMETRO QUADRADO"},{"Unidade":"CX","Descricao":"CAIXA"},{"Unidade":"CX2","Descricao":"CAIXA COM 2 UNIDADES"},{"Unidade":"CX3","Descricao":"CAIXA COM 3 UNIDADES"},{"Unidade":"CX5","Descricao":"CAIXA COM 5 UNIDADES"},{"Unidade":"CX10","Descricao":"CAIXA COM 10 UNIDADES"},{"Unidade":"CX15","Descricao":"CAIXA COM 15 UNIDADES"},{"Unidade":"CX20","Descricao":"CAIXA COM 20 UNIDADES"},{"Unidade":"CX25","Descricao":"CAIXA COM 25 UNIDADES"},{"Unidade":"CX50","Descricao":"CAIXA COM 50 UNIDADES"},{"Unidade":"CX100","Descricao":"CAIXA COM 100 UNIDADES"},{"Unidade":"DISP","Descricao":"DISPLAY"},{"Unidade":"DUZIA","Descricao":"DUZIA"},{"Unidade":"EMBAL","Descricao":"EMBALAGEM"},{"Unidade":"FARDO","Descricao":"FARDO"},{"Unidade":"FOLHA","Descricao":"FOLHA"},{"Unidade":"FRASCO","Descricao":"FRASCO"},{"Unidade":"GALAO","Descricao":"GALÃO"},{"Unidade":"GF","Descricao":"GARRAFA"},{"Unidade":"GRAMAS","Descricao":"GRAMAS"},{"Unidade":"JOGO","Descricao":"JOGO"},{"Unidade":"KG","Descricao":"QUILOGRAMA"},{"Unidade":"KIT","Descricao":"KIT"},{"Unidade":"LATA","Descricao":"LATA"},{"Unidade":"LITRO","Descricao":"LITRO"},{"Unidade":"M","Descricao":"METRO"},{"Unidade":"M2","Descricao":"METRO QUADRADO"},{"Unidade":"M3","Descricao":"METRO CÚBICO"},{"Unidade":"MILHEI","Descricao":"MILHEIRO"},{"Unidade":"ML","Descricao":"MILILITRO"},{"Unidade":"MWH","Descricao":"MEGAWATT HORA"},{"Unidade":"PACOTE","Descricao":"PACOTE"},{"Unidade":"PALETE","Descricao":"PALETE"},{"Unidade":"PARES","Descricao":"PARES"},{"Unidade":"PC","Descricao":"PEÇA"},{"Unidade":"POTE","Descricao":"POTE"},{"Unidade":"K","Descricao":"QUILATE"},{"Unidade":"RESMA","Descricao":"RESMA"},{"Unidade":"ROLO","Descricao":"ROLO"},{"Unidade":"SACO","Descricao":"SACO"},{"Unidade":"SACOLA","Descricao":"SACOLA"},{"Unidade":"TAMBOR","Descricao":"TAMBOR"},{"Unidade":"TANQUE","Descricao":"TANQUE"},{"Unidade":"TON","Descricao":"TONELADA"},{"Unidade":"TUBO","Descricao":"TUBO"},{"Unidade":"UNID","Descricao":"UNIDADE"},{"Unidade":"VASIL","Descricao":"VASILHAME"},{"Unidade":"VIDRO","Descricao":"VIDRO"}]

Log gerado ao tentar acessar pelo navegador:

A aplicação está executando em http://localhost:3000
Conteúdo do arquivo cfop.json: [{"Unidade":"AMPOLA","Descricao":"AMPOLA"},{"Unidade":"BALDE","Descricao":"BALDE"},{"Unidade":"
BANDEJ","Descricao":"BANDEJA"},{"Unidade":"BARRA","Descricao":"BARRA"},{"Unidade":"BISNAG","Descricao":"BISNAGA"},{"Unidade":"BLOCO","Descricao":"BLOCO"},{"Unidade":"BOBINA","Descricao":"BOBINA"},{"Unidade":"BOMB","Descricao":"BOMBONA"},{"Unidade":"CAPS","Descricao":"CAPSULA"},{"Unidade":"CART","Descricao":"CARTELA"},{"Unidade":"CENTO","Descricao":"CENTO"},{"Unidade":"CJ","Descricao":"CONJUNTO"},{"Unidade":"CM","Descricao":"CENTIMETRO"},{"Unidade":"CM2","Descricao":"CENTIMETRO QUADRADO"},{"Unidade":"CX","Descricao":"CAIXA"},{"Unidade":"CX2","Descricao":"CAIXA COM 2 UNIDADES"},{"Unidade":"CX3","Descricao":"CAIXA COM 3 UNIDADES"},{"Unidade":"CX5","Descricao":"CAIXA COM 5 UNIDADES"},{"Unidade":"CX10","Descricao":"CAIXA COM 10 UNIDADES"},{"Unidade":"CX15","Descricao":"CAIXA COM 15 UNIDADES"},{"Unidade":"CX20","Descricao":"CAIXA COM 20 UNIDADES"},{"Unidade":"CX25","Descricao":"CAIXA COM 25 UNIDADES"},{"Unidade":"CX50","Descricao":"CAIXA COM 50 UNIDADES"},{"Unidade":"CX100","Descricao":"CAIXA COM 100 UNIDADES"},{"Unidade":"DISP","Descricao":"DISPLAY"},{"Unidade":"DUZIA","Descricao":"DUZIA"},{"Unidade":"EMBAL","Descricao":"EMBALAGEM"},{"Unidade":"FARDO","Descricao":"FARDO"},{"Unidade":"FOLHA","Descricao":"FOLHA"},{"Unidade":"FRASCO","Descricao":"FRASCO"},{"Unidade":"GALAO","Descricao":"GALÃO"},{"Unidade":"GF","Descricao":"GARRAFA"},{"Unidade":"GRAMAS","Descricao":"GRAMAS"},{"Unidade":"JOGO","Descricao":"JOGO"},{"Unidade":"KG","Descricao":"QUILOGRAMA"},{"Unidade":"KIT","Descricao":"KIT"},{"Unidade":"LATA","Descricao":"LATA"},{"Unidade":"LITRO","Descricao":"LITRO"},{"Unidade":"M","Descricao":"METRO"},{"Unidade":"M2","Descricao":"METRO QUADRADO"},{"Unidade":"M3","Descricao":"METRO CÚBICO"},{"Unidade":"MILHEI","Descricao":"MILHEIRO"},{"Unidade":"ML","Descricao":"MILILITRO"},{"Unidade":"MWH","Descricao":"MEGAWATT HORA"},{"Unidade":"PACOTE","Descricao":"PACOTE"},{"Unidade":"PALETE","Descricao":"PALETE"},{"Unidade":"PARES","Descricao":"PARES"},{"Unidade":"PC","Descricao":"PEÇA"},{"Unidade":"POTE","Descricao":"POTE"},{"Unidade":"K","Descricao":"QUILATE"},{"Unidade":"RESMA","Descricao":"RESMA"},{"Unidade":"ROLO","Descricao":"ROLO"},{"Unidade":"SACO","Descricao":"SACO"},{"Unidade":"SACOLA","Descricao":"SACOLA"},{"Unidade":"TAMBOR","Descricao":"TAMBOR"},{"Unidade":"TANQUE","Descricao":"TANQUE"},{"Unidade":"TON","Descricao":"TONELADA"},{"Unidade":"TUBO","Descricao":"TUBO"},{"Unidade":"UNID","Descricao":"UNIDADE"},{"Unidade":"VASIL","Descricao":"VASILHAME"},{"Unidade":"VIDRO","Descricao":"VIDRO"}]
Erro ao fazer parsing do JSON: Unexpected token in JSON at position 0

Carregando publicação patrocinada...
1

Não sei se é algo que pode ter aparecido ao você colar o log do erro aqui no site, ou se realmente é o seu problema... Mas o conteúdo do seu arquivo JSON tem uma quebra de linha (um enter) no objeto que a "Unidade" é "BANDEJ".

Quando tentei parsear ele aqui via JS tive que remover esse enter pra funcionar. Verifica se pode ser isso, como seu erro é sintaxe no JSON é bem provável que sim.

1
1
1