• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

REST API 구현 실행시 문제점

22.05.01 21:46 작성 조회수 231

0

@app.route('/json_test')

def hello_json():

    data = {'name' : '김대리', 'family' : 'Byun'}

    return jsonify(data)

실행후  {"family":"Byun","name":"\uae40\ub300\ub9ac"}

출력됩니다. 사전의 키 name과 family 순서가 바뀌고 name의 한글이 깨지는데.. 원인과 해결 방법을 설명 부탁드립니다.

참고로 /server_info는 아래 처럼 잘 실행 됩니다.

 {"server_name":"0.0.0.0","server_port":"8081"}

답변 1

답변을 작성해보세요.

0

안녕하세요.

 

실제로 데이터가 전송이 될 때에는 인코딩 방식이 ASCII 방식으로 바뀌어서 전송이 될 것인데요. 한글과 같이 ASCII 방식에서 지원이 안되는 데이터는 \uae40 와 같이 ASCII 방식으로 해당 뎅이터를 변환해서 보내고요. 이를 받는 쪽에서는 \uae40 와 같은 데이터를 본래의 인코딩(한글)으로 변환해서 처리합니다. 그러다보니, 그렇게 표시되는 것이라서, 정상이라고 보셔도 좋을 것 같습니다.

 

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

 

https://growingsaja.tistory.com/354

 

감사합니다.