관리 메뉴

개발이야기

[ Javascript ] JS 에서 json 형식 처리하기 본문

node js/Javascript

[ Javascript ] JS 에서 json 형식 처리하기

안성주지몬 2019. 5. 14. 00:00

javascript에서 자주 사용하는 형식인 object, json 을 그대로 파일에 쓰거나 DB에 저장하는 경우 [Object] 로 저장되는 것을 종종 발견할 수 있습니다.

 

예시)

< 코드 >

const fs = require('fs')
let obj = {'a':1, 'b': 2}
fs.writeFileSync('./test.json', obj, 'utf-8')

< test.json >

[object Object]

 

- JSON.stringify

이런 경우 JSON.stringify() 를 사용하여 String 형식으로 변경후 저장하면 원본 상태를 그대로 유지하면서 저장할 수 있습니다.

 

<코드>

const fs = require('fs')
let obj = {'a':1, 'b': 2}
obj = JSON.stringify(obj)
fs.writeFileSync('test.json', obj, 'utf-8')

< test.json > 

{"a":1,"b":2}

 

- JSON.parse

이렇게 형식이 변환된 json, object type을 다시 불러올땐 JSON.parse() 를 사용하여 포맷을 변경할 수 있습니다.

 

< 코드 >

const fs = require('fs')
fs.readFile('./test.json', 'utf8', function(err, data) {
  console.log(data)
  console.log(JSON.parse(data))
});

 

< 결과값 >

{"a":1,"b":2}

Object {a: 1, b: 2}

 

실제로 파일이나 DB에 Object 형식에 데이터를 저장할때 자주 발생하는 이슈로 두 방법을 익혀두시면 실제로 문제가 발생하였을때 효율적으로 해결하실 수 있으실 겁니다.

 

레퍼런스

[1] https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

 

JSON.stringify()

JSON.stringify() 메서는 JavaScript 값이나 객체를 JSON 문자열로 변환합니다.

developer.mozilla.org

[2] https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

 

JSON.parse()

JSON.parse() 메서드는 JSON 문자열의 구문을 분석하고, 그 결과에서 JavaScript 값이나 객체를 생성합니다.

developer.mozilla.org

 

Comments