Node.js에서 JSON 파일 로딩하는 방법

모든 Node.js 개발자는 언젠가는 JSON 파일을 읽어야 할 필요성을 마주하게 된다. 이 포스트에서는 이를 수행하는 세 가지 간단한 방법을 살펴보겠다.

1. require() 사용하기

javascript
const jsonData = require('./data.json');
console.log(jsonData);

이 예제에서 data.json은 JSON 파일이며, Node.js는 이를 읽고 구문 분석하여 JSON 객체를 반환한다. 이를 jsonData 변수에 저장한다.

2. fsJSON.parse() 사용하기

javascript
const fs = require('fs');

fs.readFile('./data.json', 'utf8', (err, jsonString) => {
    if (err) {
        console.log("디스크에서 파일을 읽는 중 오류 발생:", err);
        return;
    }
    try {
        const jsonData = JSON.parse(jsonString);
        console.log(jsonData);
    } catch(err) {
        console.log('JSON 문자열 구문 분석 중 오류 발생:', err);
    }
});

여기서는 fs.readFile() 함수를 사용하여 파일 내용을 읽고, 그것을 JavaScript 객체로 변환하기 위해 JSON.parse()를 사용한다.

3. ES 모듈을 사용하여 JSON 가져오기

javascript
import jsonData from './data.json' assert { type: 'json' };
console.log(jsonData);

이 예제에서 jsonDatadata.json 파일에서 파싱된 JSON 객체가 된다.


JSON 파일을 읽기 위해 require(), fsJSON.parse(), 또는 ES 모듈을 선택하는 것은 사용 사례에 따라 다를 것이다. 애플리케이션의 요구 사항을 고려하고 가장 적합한 방법을 선택해보자!


자주 묻는 질문

  1. 큰 데이터셋에 JSON 파일을 사용할 수 있나요? JSON 파일은 큰 데이터셋에 사용할 수 있지만, 더 크고 복잡한 데이터셋의 경우 데이터베이스 시스템이 더 적합할 수 있다.
  2. Node.js는 처리할 수 있는 JSON 파일의 크기 제한이 있나요? Node.js는 명시적인 제한을 가하지 않지만, 아주 큰 파일은 메모리 제한으로 인해 성능 문제를 일으킬 수 있다.
  3. JSON 파일을 수정해도 업데이트되지 않는 이유는 무엇인가? require() 캐시 때문일 수 있다. Node.js는 require() 호출 결과를 캐시에 저장한다. 파일을 다시 읽으려면 delete require.cache[require.resolve('./data.json')]를 사용하여 캐시 항목을 삭제해야 할 수 있다.
  4. Node.js에서 외부 URL에서 JSON 파일을 읽을 수 있나요? 그렇다. axiosnode-fetch와 같은 모듈을 사용하여 외부 URL에서 JSON을 가져올 수 있다.
© Copyright 2023 CLONE CODING