Node.js 서버 띄우기 + xml to json 파싱하기

바쁘다 바빠 현대사회·2020년 9월 24일
0

Node .js 서버 띄우기

우선 노드 서버를 열어야 하니까
서버부터 만들어봅시다.

** node 가 깔려있다는 전제 하에 시작됩니다

npm install express 

$ mkdir server // 서버 디렉토리 
$ touch server.js // 서버.js 파일 

자 이제 프로젝트 폴더 > 서버디렉토리 > 서버.js 파일 입니다.

const express = require('express'); express 연동
const http = require('http'); 
const app = express();
let path = require('path');
let server = http.createServer(app);

app.get('/', function(req, res) {
  res.send('rootpage')
});

server.listen('포트넘버', '127.0.0.1', function() {
	console.log('server listen on port': + server.address().port);
  ///보통 127.0.0.1 은 로컬호스트 넘버이다. 
})

이렇게 server.js 를 세팅하고
노드 명령어로 서버를 실행하면...?

node server.js

이렇게 콘솔에 포트넘버가 나오고,

서버 띄우기 성공.

그렇다면 내친김에 공공데이터 포털의 xml 데이터를 받아와, json 으로 파싱해보기로 합시다.

파싱과 , url reques를 위해서는 xml-js 와 request 를 받아주어야 합니다.

npm install xml-js 
npm install request 

다시 server.js 로 돌아가, 약간의 추가를 해줍시다.

저는 다른 부분을 수정하지 않고,
app.get() 과 server.listen() 사이에 코드를 추가했습니다.


//request , convert 
const request = require('request');
const convert = require('xml-js');


app.get('/', 
        ... 
 )}

        //추가된 부분 
        
        app.get('/data', function(req,res) {
		let requestUrl = "url"
		request.get(requestUrl, (err, res, body)=> {
   if(err) {
         console.log(`err => ${err}`)
   }
  else {
      if(res.statusCode == 200) {
                var result = body
                console.log(`body data => ${result}`)
                var xmlToJson = convert.xml2json(result, {compact: true, spaces: 4});
                console.log(`xml to json => ${xmlToJson}`)
       }
   }
})
)};
        
        
        
        
server ... 
        });

그리고 다시 실행해, '127.0.0.1/data' 로 접속하면...


원래는 이렇던 xml 데이터가

이렇게 json으로 파싱되어 출력된다.

다만, 내가 다뤄야 할 데이터는 상당히 대용량이라 이 부분을 더 고려해보아야 할 듯 하다.

profile
알쏭달쏭 디지털 세상

0개의 댓글