본문으로 바로가기

   

 

Uncaught SyntaxError: Unexpected token o in JSON at position 1 at JSON.parse() 에러 해결 방법에 대하여 알아보겠습니다.

 

이 에러코드의 발생 원인은 다음과 같습니다.

1. json 형식의 문자열이 맞는지?

2. json 형식의 문자열로 작성하였는데 오타가 있는 것이 아닌지?

 

해결 방법

1. json 형식의 문자열이 아니라면 json 형식의 문자열로 지정해주시면 됩니다.

2. 작은따옴표('), 큰따옴표(")를 주의하시고 잘 확인해주셔서 오타를 수정하시기 바랍니다.

 


예제를 통하여 에러가 발생한 이유와 해결 방법에 대하여 알아 보도록 하겠습니다.

<script>
  var cat = {"name": "나비", "age": 2, "weight": 2.4};

  var jsonData = JSON.parse(cat); // js 객체를 문자열로 변환
  document.getElementById("json").innerHTML = jsonData.name + "의 나이는 " + jsonData.age + "살 입니다.";
</script>

<p id="json"></p>

 

위 코드를 실행하니 Unexpected token o in JSON at position 1 에러가 발생하였습니다.

 

에러가 발생한 이유는, 자세히 보면 정상적으로 json 문자열을 작성한 것처럼 보이지만 

cat을 정의한 부분에서 중괄호를 감싸는 따옴표(')가 없습니다.

 

var cat = '{"name": "나비", "age": 2, "weight": 2.4}';

이렇게 정의하는 것이 맞습니다.

이제 실행하면 정상적으로 작동할 것입니다.

 

출력 결과