에러 메세지

문제 상황

python을 이용해 json 파일을 만들었는데.. 이스케이프문자 범벅으로 만들어졌다.
또한 쌍따옴표도 의도치 않은 곳에 들어가있어, 정상적인 json 파일로 읽히지도 않는다.
무슨 문제일까?

원인

파이썬에서 json dump 를 두 번을 했다.

(1) 첫 번째는 dictionary 형태의 result를 json 형태로 바꾸는 때
(2) 두 번째는 result를 json 파일로 저장하는 때

json 형태로 변환된 내용을 다시 한 번 dump 하니, 비정상적인 파일이 만들어진 것.

1
2
3
4
5
6
# result를 json 형태로 변환
result = json.dumps(result)

# result json 파일 저장
with open(basic_path + "/result.json", "w", encoding="utf-8") as file:
    json.dump(result, file)

해결

result는 한 번만 dump 하도록 코드를 변경했다.

1
2
3
4
5
6
# result를 json 형태로 변환
# result = json.dumps(result) ==> 제거

# result json 파일 저장
with open(basic_path + "/result.json", "w", encoding="utf-8") as file:
    json.dump(result, file)

정상적인 json 파일로 만들어졌다.


Reference

stack overflow : https://stackoverflow.com/questions/25242262/dump-to-json-adds-additional-double-quotes-and-escaping-of-quotes