2024/02/15(구)
# 주석 제거
def jsonLoad(self, json_string: str | io.TextIOWrapper):
if not isinstance(json_string, str):
json_string = json_string.read()
# // 형식의 한 줄 주석 제거
json_string = re.sub(r"\/\/.*", "", json_string)
# /* */ 형식의 범위 주석 제거
json_string = re.sub(r"\/\*(.|\n)*?\*\/", "", json_string)
return json.loads(json_string)
저는 클래스화 해서 사용하고 있기 때문에 self 제거하시고 사용하시면 됩니다.
//, /**/ 부분 제거 합니다
2024/02/20(신)
# 주석 제거
def jsonLoad(self, json_string: str | io.TextIOWrapper):
if not isinstance(json_string, str):
json_string = json_string.read()
# // 형식의 한 줄 주석 제거
json_string = re.sub(r"\/\/.*", "", json_string)
# /* */ 형식의 범위 주석 제거
json_string = re.sub(r"\/\*(.|\n)*?\*\/", "", json_string)
# # 공백 제거(개행, 탭, 공백 제거)
# json_string = re.sub(r"(\n|\t|\s)", '', json_string)
# 공백 제거(개행, 탭)
json_string = re.sub(r"(\n|\t)", '', json_string)
# 마지막에 콤마 있을시 제거
json_string = re.sub(r',\s*}', '}', json_string)
return json.loads(json_string)
개행, 탭 제거후 마지막 콤마 있을시 제거