import json import re def str_to_json(content: str) -> dict: """ 解析日志文件中的JSON格式字符串 Args: log_content: 日志内容字符串 Returns: 解析后的JSON数据(字典类型) """ try: # 1. 清理输入字符串 # 移除可能的前导和尾随空白 content = content.strip() # 2. 提取JSON部分 # 使用正则表达式匹配最外层的花括号及其内容 json_pattern = r'{[^{}]*(?:{[^{}]*}[^{}]*)*}' match = re.search(json_pattern, content) if not match: raise ValueError("未找到有效的JSON内容") json_str = match.group(0) # 3. 解析JSON return json.loads(json_str) except json.JSONDecodeError as e: raise ValueError(f"JSON解析错误: {str(e)}") except Exception as e: raise ValueError(f"解析错误: {str(e)}")