■ Front-End ■/Node.js

[Node.js] json 파일을 직접 불러와서 사용해 보자.

한길(One Way) 2023. 2. 26.
Node.js는 빠르고 쉬우며 확장 가능한 JavaScript 런타임이다.

 

1. 개요

Node.js에서 json 파일을 직접 불러와서 사용해 보는 예제이다.

2. 사용법

JSON은 JavaScript Object Notation의 약자로 데이터를 전송하는 데 사용한다.

JSON은 key와 value로 구성되어 있다.

아래는 무지개의 영어를 키로 하고 한글을 값으로 하는 JSON 파일이다.

파일 이름 : hello-rainbow.json

{
    "red" : "빨강",
    "orange" : "주황",
    "yellow" : "노랑",
    "green" : "초록",
    "blue" : "파랑",
    "indigo" : "남색",
    "violet" : "보라"
}

이번 예제에서는 별도의 모듈이 필요하지 않는다.

아래와 같이 json 파일을 직접 읽어 json.red 를 출력하면 "빨강"이 표시된다.

var json = require('./hello-rainbow.json');
console.log(json.red);

 

JSON.stringify() 함수는 JSON을 문자열로 변환한다.

 var text = JSON.stringify(json);

 

JSON.parse() 함수는 문자열을 JSON 개체로 변환한다.

var jsonObj = JSON.parse(text);

3. 예제

아래는 json 파일을 읽고 문자열로 변환하고 다시 JSON 객체로 변환하는 코드이다.

var json = require('./hello-json-load.json');
console.log(json);
console.log(json.red);
console.log(json.orange);

// JSON 객체를 JSON 문자열로 변환한다.
var text = JSON.stringify(json);
console.log(text);

// JSON 데이터를 JSON 객체로 변환한다.
var jsonObj = JSON.parse(text);
console.log(jsonObj.green);
console.log(jsonObj.blue);

실행 결과

{ red: '빨강',
  orange: '주황',
  yellow: '노랑',
  green: '초록',
  blue: '파랑',
  indigo: '남색',
  violet: '보라' }
빨강
주황

{"red":"빨강","orange":"주황","yellow":"노랑","green":"초록","blue":"파랑","indigo":"남색","violet":"보라"}
초록
파랑

아래는 json 파일을 읽어 파일로 저장하고 다시 JSON 파일을 읽어 JSON 객체로 변환하는 코드이다.

var jsonFile = require('./hello-rainbow.json');
var fs = require('fs');

var rainbowJson = JSON.stringify(jsonFile);
fs.writeFileSync("hello-parsed.json", rainbowJson)

var data = fs.readFileSync("hello-parsed.json")
var json = data.toString();

console.log(json);

var parsedJson = JSON.parse(json);
console.log(parsedJson);

실행 결과

{"red":"빨강","orange":"주황","yellow":"노랑","green":"초록","blue":"파랑","indigo":"남색","violet":"보라"}
{
  red: '빨강',
  orange: '주황',
  yellow: '노랑',
  green: '초록',
  blue: '파랑',
  indigo: '남색',
  violet: '보라'
}
728x90

댓글