Uncaught SyntaxError: "[object Object]" is not valid JSON 오류와 해결 방법

에러 메세지

Uncaught SyntaxError: "[object Object]" is not valid JSON
    at JSON.parse (<anonymous>)
    at Object.<anonymous> (addCorsJson:53:25)
    at j (jquery-latest.min.js:2:27244)
    at Object.fireWith [as resolveWith] (jquery-latest.min.js:2:28057)
    at x (jquery-latest.min.js:4:21843)
    at XMLHttpRequest.b (jquery-latest.min.js:4:25897)

 json 데이터를 파싱 하다 보면 위와 같은 오류를 만날 때가 있다.
 

 var jsonData = JSON.parse(data);

이 메세지는 ajax 호출 시 dataType을  json으로 작성하면 자동으로 파싱해 넘겨주는데 파싱 된 데이터를 다시 파싱 할 경우 생기는 문제이다.
 

해결방법

   
   //json 타입
    console.log('data :' +data);
    for (let i = 0; i < data.items.length; i++) {
        const item = data.items[i];
        console.log(item.title);
    }

 
dataType이  json인 경우 파싱 된 데이터를 그대로 사용하면 된다.


    var jsonData = JSON.parse(data);
    for (let i = 0; i < jsonData.items.length; i++) {
        const item = jsonData.items[i];
    }

 
두 번째로는 dataType이 html, text 등인 경우에는 JSON.parse를 이용해 파싱한후 사용하면 된다.