[JAVA] JSON parser Unexpected character (o) at position 오류 해결방법

가이드문구

JSONParser Unexpected character (o) at position 오류 해결방법

Unexpected character (o) at position 오류는 보통 JSON 데이터가 잘못되었을 경우 발생합니다.

JSON 데이터를 잘 살펴보면, 정상적인 쌍따움표("") 형식으로 되어있는지 확인해볼 필요가 있습니다.

아래와 같은 JSON 데이터 형식은 올바른 데이터 형식 입니다.

{
    "aaa" : "bbb",
    "bbb" : "ccc"
}


쌍따움표가 없는 경우 오류가 발생합니다.

JSON 데이터를 위와 같이 쌍따움표 형식으로 묶어 parser 해주시면 됩니다.

{
    "aaa" : bbb,
    "bbb" : ccc
}


또 다른 오류의 예 입니다.

value 값이 한글인 경우 인코딩 형식이 맞지 않아 오류가 발생하는 경우 입니다.

UTF-8 형식으로 되어있는 한글 데이터인 경우, "쩗짤뚫?" 이런식으로 한글이 깨지는 현상을 볼 수 있습니다.

이런 경우 인코딩 캐릭터셋 지정으로 해결할 수 있습니다.

// HTTP/1.1 200 OK 형식의 http 헤더 결과 코드가 출력됩니다. 
is = conn.getInputStream();
isr = new InputStreamReader(is);
br = new BufferedReader(isr);

if(headerType.toUpperCase().indexOf("UTF-8") != -1) {
	br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
} else {
	br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "EUC-KR"));
}


작성자 소개
초이 프로필
WrapUp 블로거

초이

반려견을 좋아하고, 차를 좋아하고, 여행을 좋아하고, 맛집을 찾아 즐기는 웹 개발자 입니다^^