from barely_json import parse from pyparsing import ParseException from resolver import pattern @pattern(name="JsonString") class JsonString(str): """ A specific derived string which is converted from JSON or dict. """ def __new__(cls, plaintext: str): return str.__new__(cls, plaintext) def parsed(self): try: return parse(self) except ParseException as e: raise ValueError(f"Invalid json-string. Error message: {e}")