• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

jsonify 변환시 비정상적인 데이터 반환

22.04.13 10:53 작성 조회수 220

0

안녕하세요 선생님,
먼저 좋은 강의 제공해주셔서 감사합니다.
한 가지 문의가 생겨 질문 남깁니다.
 
[문의 위치]
파이썬 flask 기본과 웹기술 > flask 로 Rest API 구현과 테스트 > 11:28
 
라우팅 /json_test 경로를 통해 데이터를 jsonify 메소드로 변환하는 과정에서 비정상적인 반환값이 확인됩니다.
 
(이미지1) 입력 : data = {'name' : '김대리', 'family' : 'Byun'}
 
(이미지2) 출력 : {"family":"Byun","name":"\uae40\ub300\ub9ac"}
이와 같이 name(key)에 대한 value 값이 정상적으로 출력되지 않습니다.
(이미지3) 하지만, 터미널에서 http 명령어로 실행하면 정상적인 값이 보입니다.
** 참고로, 이어서 설명하시는 라우팅경로 /server_info 의 반환 데이터값에는 문제가 없습니다.
 
더불어, 한가지 더 질문 드리자면 선생님 출력 화면을 보면 (이미지4) json 데이터가 한줄이 아닌 여러줄, 그리고 색상도 칠해진 상태로 출력이 되는데요. 저의 경우에는 그렇지 않아서(이미지2), 해당 이유도 문의드립니다.
 
 
좋은 강의 정말 감사합니다. ^^
 
이미지1
 
이미지2
 
이미지3
 
이미지4

답변 1

답변을 작성해보세요.

0

안녕하세요.

우선 이렇게 상세하고 이해하기 쉽게, 질문을 작성해주셔서 감사합니다.

제가 수년간 많은 분들께서 작성하신 질문글들을 봤는데요. 

작성하신 글을 보다보니, 너무 잘 작성해주셔서, 왠지 남다른 분이실 것 같은 느낌이 들었어요.

 

우선 jsonify 로 처리된 데이터가 실제로 전송이 될 때에는 인코딩 방식이 ASCII 방식으로 바뀌어서 전송이 될 것인데요. 한글과 같이 ASCII 방식에서 지원이 안되는 데이터는 \uae40 와 같이 ASCII 방식으로 해당 뎅이터를 변환해서 보내고요. 이를 받는 쪽에서는 \uae40 와 같은 데이터를 본래의 인코딩(한글)으로 변환해서 처리합니다. 그러다보니, 통신하는데에는 문제가 없었다고 보시면 좋을 것 같습니다.

이 부분을 다음 링크와 같이 강제로 변환해주는 방법도 있긴 한데, 통신 자체에 문제가 없다면, 이런 설정을 많이 하는 편은 아니예요. 하지만 참고로 보신다면, 좀더 도움이 되지 않을까 생각합니다.

https://growingsaja.tistory.com/354

 

두번째 질문은 사실 저도 인지를 못한 것 같은데요. 저는 크롬 브라우저에 JSON Viewer 가 extension 으로 설치를 했었나봐요. 아마 그래서, 자동으로 JSON 데이터가 보기 좋게 표기 된 것 같기도 해요. 왠지 이런 extension 이 없어도 크롬 브라우저등에서는 JSON 데이터는 자동으로 잘 표현을 해줄 것 같기도 한데... 착각이 있었던 것 같기도 합니다. 하도 예전부터 설치가 되어 있는 상태이어서 그런 듯도 합니다. 혹시 괜찮으시면,  한번 이 부분도 설치해보시고, 테스트해보셔도 좋을 것 같습니다.

https://jojelly.tistory.com/69

 

감사합니다.