CODEKILLER

반응형

Unexpected character encountered while parsing value
Unexpected character encountered while parsing value

JSON 파싱오류

보통 Json 파싱 할 때 오류로 Encoding을 확인해 보거나 json으로 serialize 되는 형식을 보면 의외로 쉽게 풀릴 수 있습니다.

 

첫 번째로 확인해 볼 사항은 에디터 툴을 이용하여 인코딩을 바꾸어서 확인해 봅니다. 요기에서 해결이 되면 그래도 빨리 오류해결이 된 것이니 행운입니다.

두 번째로 볼 사항은 Json의 변환이 정상적으로 이루어지는 확인해 봅니다. 배열이나 타입이 복잡한 경우에 Default Json으로 변환이 안 되는 경우가 있으니 newtonsoft의 Json을 사용해 봅니다.

newtonsoft json
newtonsoft json

세 번째로 확인해 볼 사항은 이렇게 사용하는 경우는 드물겠지만, 웹서버와의 통신에서 파일 등을 파일업로드를 사용하지 않고 대용량 byte[]를 보낼 때가 있는데요. 이때는 json이 아닌 bson을 사용해서 보낼때가 있습니다. 

byteArrayContent.Headers.ContentType = new MediaTypeHeaderValue("application/bson");

이런 식으로 서버로 보내면 되돌아올 때의 응답도 bson 형식이라서 byte[]로 받아서 처리를 해야 합니다. 되돌아온 응답을 json으로 converting 하면 위와 같은 오류가 발생할 수 있습니다. 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band