공유 블로그

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)

개행, 탭 제거후 마지막 콤마 있을시 제거

공유하기

facebook twitter kakaoTalk naver band kakaostory Copy URL