반응형
Python을 이용해 제작된 Django 프레임 워크를 이용해서 다른 서비스 서버와 Rest통신을 하다보면 String 형태의 정보 값을 받아 JSON 형태로 변형하여, 사용자 template에 제공해줘야 하는 경우가 생기게 되는데, 이때 보통 String을 json 형태로 변형해 줄때 eval(string) 이나 string.JSONparser 등의 형태로 변형을 해주게 된다.
일반적인 상황에서는 별 무리 없이 잘 변환이 되지만, 국내에서는 Python 자체를 사용하는 경우가 매우 드문 것 같고, 더욱이 웹 프레임 워크로 Django를 이용하는 (특히 게임쪽)경우가 매우 드문 것 같다. 대부분의 Rest 통신을 해보면 String 정보가, 바로 써먹기 매우 난해한 경우가 대부분 이였는데, 특히 true,false 같은 bool형 변수, Python에서는 True,False 형태로 쓰기 때문에 true,false를 바로 변환하지 못한다. (이해가 좀 안된다.. 의미상으로 다르지 않을텐데.. 문법적으로 꼼꼼하신 Python이라 그런가...?) 또한 null 의경우에도 마찬가지.. Python 은 null 을 사용하지 않기 때문에 변환하지 못하게 에러난다.. None로 변환하여 작업해주어야 한다.
Rest 통신을 하게 되어 String을 JSON으로 변환 해야 하는 경우가 생긴다면 반드시 꼼꼼히 넘어오는 String을 확인해보고, 해당 언어에 변환시에 걸림이 있는 것은 없는지 상세히 살펴보아야 엄한 곳에서의 삽질을 막을 수 있다. C나 C++등의 언어에 비해 웹 서버사이드 언어들은 이런 광범위한 호환 범위를 위해 데이터 인코딩이라던지 문자열 파싱등에 탁월한 메서드를 많이 제공하고 있는 것 같다. Python에서는 replace 를 이용하여 String을 교체하여 작업해주면, 간단하게 패스 할 수 있다.
나와 같은 야매 플머들이여... 조금이라도 이 글이 도움이 되어 이런 허망한 곳에서 시간낭비를 한다던지, 맨땅에 해딩하는 일을 줄이자~
반응형
'야매 개발실 > Web Server' 카테고리의 다른 글
CentOS, mod_wsgi를 이용한 장고 연동 방법 (0) | 2011.09.23 |
---|---|
Python을 처음 접하면서.. (0) | 2010.12.01 |
Python+Apache+mod_python+MySQL+mysql-python 설치성공.. (2) | 2010.11.30 |
Apache서버와 Mod_Python 그리고 Python 버전의 문제.. (0) | 2010.11.30 |
Python 사용을 하기위한 자료들 (0) | 2010.11.29 |