라벨이 parse인 게시물 표시

Node.js 에서 xml 데이터 파싱하여 json 형태로 변환하기

공공데이터 포털에서 OPEN API를 제공받아 사용해보려고 하면 일반적으로 JSON, XML 형식으로 데이터를 제공한다. 하지만 모든 OPEN API에 해당하는것은 아니며 XML 형식만 제공하는 OPEN API들이 있었다. 내가 사용하고자하는 OPEN API가 XML 형식으로만 지원했고 이러한 XML 형식의 데이터들을 JSON으로 바꾸어 사용하고 싶었다. 찾아보니 xml을 json으로 변경시켜주는 xml-js 라는 라이브러리가 있었다. https://www.npmjs.com/package/xml-js $ npm install xml-js request 예제 소스코드는 아래와 같다. const convert = require ( " xml-js " ) ; const request = require ( " request " ) ; const END_POINT = " http://apis.data.go.kr/B552584/EvCharger " ; const SERVICE_KEY = " 일반 인증키(Encoding) " ; const requestUrl = `${ END_POINT } /getChargerInfo?serviceKey= ${ SERVICE_KEY } &numOfRows=10&pageNo=1 ` ; request . get (requestUrl, ( err, res, body ) => { if (err) { console . log ( ` err => ${ err }` ) ; } else { if (res . statusCode === 200 ) { const result = body ; console . log ( ` body data => ${ result }` ) ; const xmlToJson = convert . xml2json (result, { com

JSON(JavaScript Object Notation)

JSON(JavaScript Object Notation)은 자바스크립트 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷이다. JSON(JavaScript Object Notation)은 클라이언트와 서버 간 데이터 교환을 위해 사용된다. JSON은 일반 텍스트 포맷보다 효과적인 데이터 구조화가 가능하며 XML 포맷보다 가볍고 사용하기 간편하며 가독성도 좋다. JSON은 자바스크립트의 객체 리터럴과 매우 흡사하다. 하지만 JSON과 JavaScript 의 Object는 유사한 구조를 가지고 있지만 엄밀히 다른 개념이다.   JavaScript의 Object는 JavaScript Engine 메모리 안에 있는 데이터 구조이며, JSON은 객체의 내용을 기술하기 위한 text 파일이라는 점에서 다르다. 첫줄에서 말했듯이  자바스크립트 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷이다. 또한 JSON은 확장자명이 .js가 아닌 .JSON 인 확장자를 가진다. JSON.stringify(); JavaScript 에는 객체를 JSON으로 바꿔주는 메서드 JSON.stringify(); 가 존재한다. JSON.stringify();를 사용하면 객체는 문자열 형식으로 변경되어 네트워크 통신 및 저장에 사용된다. 이렇게 변경된 결과의 문자열은 직렬화 된, JSON으로 인코딩 된, 문자열로 변환된 객체라고 부른다. 여기서 주의할 점은  JSON으로  변환하려는 객체안에 포함된  함수와 Symbol은 문자열로 변환시켜주지 못하기때문에 stringify로 데이터를 변환하여도 JSON 데이터에 포함시키지 못한다. JSON.parse(); JavaScript 에는 JSON을 객체(Object)로 바꿔주는 메서드  JSON.parse(); 가 존재한다. JSON.parse();를 사용하면 문자열 형식의 JSON을 다시 객체로 변경할 수 있다. 이렇게 변경된 결과의 객체를 역직렬화 된, JSON으로부터 디코딩 된 객체라고 부른다