python处理json特殊字符 日期:2025-03-31 人气:1 #### 字符串替换 ``` json_str = output.replace("\\n","").replace("\\r","").replace("\\t","").replace(' ','').replace('\\"','"').replace('\\\"','').replace('\\','/') ``` #### 特殊字符转义 ``` def deal_json_invaild(data): data = data.replace("\n", "\\n").replace("\r", "\\r").replace("\n\r", "\\n\\r") \ .replace("\r\n", "\\r\\n") \ .replace("\t", "\\t") data = data.replace('": "', '&&testPassword&&')\ .replace('", "', "$$testPassword$$")\ .replace('{"', "@@testPassword@@")\ .replace('"}', "**testPassword**") print(data) data = data.replace('"', r'\"')\ .replace('&&testPassword&&', '": "').replace('$$testPassword$$', '", "').replace('@@testPassword@@', '{"').replace('**testPassword**', '"}') print(data) return data ``` #### re库 ``` import re import json # 定义正则表达式 pattern = r'\{(?:[^{}]|(?R))*\}' # 在文本中查找匹配 match = re.search(pattern, text, re.MULTILINE) if match: json_str = match.group() print("找到的JSON字符串:", json_str) # 将JSON字符串解析为Python字典 data = json.loads(json_str) print("解析后的数据:", data) else: print("未找到JSON数据") ``` #### 字符串踢球 ``` import json def extract_json_from_markdown(md_text): json_objects = [] lines = md_text.split('\n') in_code_block = False code_content = [] code_block_delimiter = None for line in lines: # 检测代码块开始 if line.startswith('```') or line.startswith('~~~'): if not in_code_block: # 新的代码块开始 in_code_block = True code_block_delimiter = line[:3] code_content = [] else: # 当前代码块结束 if line.startswith(code_block_delimiter): in_code_block = False # 尝试解析收集的代码内容 try: json_obj = json.loads('\n'.join(code_content)) json_objects.append(json_obj) except json.JSONDecodeError: pass elif in_code_block: # 在代码块中收集内容 code_content.append(line) return json_objects ``` 标签: 上一篇:vscode使用Community Server Connector运行JDK1.8项目报错 下一篇:dify生成的应用发布后添加用户登录 随便看看 2025-07-04 vscode使用Community Server Connector运行JDK1.8项目报错 2025-07-03 vscode中为maven项目指定java版本 2025-06-27 利用puppeteer将网页保存为pdf 2025-06-27 一天二十四时辰表 2025-06-27 家谱中儿子和父母的关系有哪些? 留言