마케팅IT

VM345:1 Uncaught SyntaxError: Unexpected end of JSON input

xemaker 2023. 7. 14. 12:54

확인을 해보니, 이유는 JSON 데이터가 완전히 수신되기 전에 데이터를 구문 분석하려고 해서 그렇다고 한다.

요청의 .end 메서드 안에 JSON.parse를 넣으면 신기하게도 해당 현상이 발생하지 않게 되었다!! 😍

 

<AS-IS>

var req = https.request(options, function(res){
	res.setEncoding('utf8');
    
    res.on('data', function(chunk){
        var list = JSON.parse(chunk);
        // ... code 
    });
}

 

<TO-BE>

var req = https.request(options, function(res){
	res.setEncoding('utf8');
  	var data = '';
    res.on('data', function(chunk){
        data += chunk;
    });

    res.on('end', function(){
    	var list = JSON.parse(data);
        // ... code 
    }	
}