json 형식의 문자열 str_json 을 파이썬의 json.loads(str_json)로 변환 한것을 다시 문자열로 변환 str(json.loads(str_json)) 하면 원래의 문자열에서의 형식과는 다르게 출력되는 것들이 있다. 현재확인된것은 2개 .
큰 따옴표는 작은따옴표로 출력됨.
"data" -> 'data'
부울 값 표현의 첫글자 대문자로 표현됨.
false, true -> False, True
상기 파이썬 형식의 문자열을 c++의 Jsoncpp 에서 수신받아 Json::CharReader* json_reader->parse(파이썬에서 수신받은 문자열) 로 파싱할려고 하면 오류 발생한다.
jsoncpp 에서는 모두 큰 따옴표, 부울 표현형식은 모두 소문자여야 정상 파싱가능하므로 해당 문자열 치환이후 처리해야함.
파이썬측 처리 코드예.
- jsconcpp 에서 파싱가능한 형식으로.
data_rcv_dict = json.loads(str_json)
data_list = data_rcv_dict.get('data',0)
for data_dict_one in data_list :
str_replace = str(data_dict_one).replace("'","\"") # jsoncpp 에는 파싱 못하므로 ' 를 모두 " 로 변경한것임.
str_replace = str_replace.replace("False", "false") # 소문자 false 로 수정해야 jsoncpp 가 정상 처리가능함.
str_replace = str_replace.replace("True", "true") # 상동.
연관
첫 등록 : 2021.01.07
최종 수정 :
단축 주소 : https://igotit.tistory.com/2746
'지속가능티끌 > Python' 카테고리의 다른 글
Python. round. 실수 소수점 자리수 자르기. (0) | 2021.09.10 |
---|---|
Python. 비프음 출력 (0) | 2021.09.08 |
Visual Studio 파이썬 개발환경에서 라이브러리 패키지 설치 방법 (0) | 2020.09.11 |
Python 설치. 2.7 , 3.8 (0) | 2020.09.11 |
Python. 딕셔너리. (1) | 2020.07.05 |
댓글