[nodeJS] fs(file system) 모듈을 이용하여 JSON 파일 읽고 사용하기

node에서는 기본적으로 fs라는 모듈을 제공한다. 이를 통해 JSON 등 다른 파일을 읽어오고 사용할 수 있다.

 

 

1. JSON 파일 불러 와서 Object로 만들기

 

const fs = require('fs');

 

별도의 install 없이, 다음과 같이 모듈을 import 함으로써 fs 모듈을 사용할 수 있다.

 

js와 같은 디렉토리에 다음과 같은 doc.json 파일을 생성한다.

 

{
    "name": "팬팬",
    "age": 3,
    "favorit": ["코딩", "노래", "메이플스토리"]
}

 

일단 JSON 파일을 불러온 뒤 그냥 출력해보면, 결과는 다음과 같을 것이다.

 

const doc = fs.readFileSync('doc.json');
console.log(doc);

 

<Buffer 5b 0d 0a 20 20 20 20 22 52 6f 77 64 61 74 61 50 61 63 6b 65 74 22 2c 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 22 73 6f 6c 75 74 69 6f 6e 22 ... 12 more bytes>

 

이는 버퍼에 있는 16 진수로 이루어진 raw data이다. 그러나 우리가 얻고 싶은 것은 이러한 데이터가 아니라, JSON 파일에 들어간 자료들이다.

 

이 자료를 우리가 원하는 JSON(Object) 파일로 얻기 위해서는 다음과 같은 JSON 메소드를 이용하면 된다.

 

console.log(JSON.parse(doc)); // type: Object

 

출력 결과는 다음과 같다.

 

{ name: '팬팬', age: 3, favorit: [ '코딩', '노래', '메이플스토리' ] }

 

+ 텍스트(txt) 파일 읽고 사용하기

 

fs 모듈을 이용하면 JSON 파일 뿐 아니라 텍스트 파일과 같은 것들도 읽어 올 수 있다. (쓰기도 가능)

 

txt 파일을 읽는 방법은 다음과 같다.

 

const fs = require('fs');
const text = fs.readFileSync('text.txt');

console.log(text.toString()); // type: String