import re import json def extract_json(text: str) -> dict: try: if isinstance(text, dict) or isinstance(text, list): return text filtered_text = "" filtered_text = re.sub(r'^.*?({|\[)', r'\1', text, flags=re.DOTALL) filtered_text = re.sub(r'(}|\])(?!.*(\]|\})).*$', r'\1', filtered_text, flags=re.DOTALL) filtered_text = re.sub("\\'", "'", filtered_text) filtered_text = re.sub("\\,", ",", filtered_text) print("Filtered text:", repr(filtered_text)) try: parsed = json.loads(filtered_text, strict=False) except json.JSONDecodeError as e: print("JSON error:", e) import ast try: parsed = ast.literal_eval(filtered_text) except Exception as ast_e: print("AST error:", ast_e) return {} return parsed except Exception as e: print("Outer error:", e) return {} test_str1 = """ { "sampling_space_description": "A description of the sampling space.", "dimensions": [ { "name": "age", "values": [18, 19, 20, 21, 22] } ] } """ print("Test 1:", extract_json(test_str1))