微信扫码
添加专属顾问
我要投稿
在我们日常处理大模型的输出时,经常希望输出的结果为结构化的(例如输出json格式),这样有助于我们进行结果的后处理。但是在模型输出超过限制和流式输出时就会遇到问题了,由于答案没完全输出,转json就存在问题。
效果展示
text = '''{"name":"张三", "age":'''print(parse_json_markdown(text))# {'name': '张三'}
markdown格式
text = '''```json\n{"name":"张三", "age":27'''print(parse_json_markdown(text))# {'name': '张三', 'age': 27}
多维嵌套
text = '''```json\n{"name":"张三", "age": 27, "爱好": ["羽毛球'''print(parse_json_markdown(text))# {'name': '张三', 'age': 27, '爱好': ['羽毛球']}
核心代码介绍
核心处理代码如下:
new_chars = []stack = []is_inside_string = Falseescaped = False# Process each character in the string one at a time.for char in s:if is_inside_string:if char == '"' and not escaped:is_inside_string = Falseelif char == "\n" and not escaped:char = "\\n"# Replace the newline character with the escape sequence.elif char == "\\":escaped = not escapedelse:escaped = Falseelse:if char == '"':is_inside_string = Trueescaped = Falseelif char == "{":stack.append("}")elif char == "[":stack.append("]")elif char == "}" or char == "]":if stack and stack[-1] == char:stack.pop()else:# Mismatched closing character; the input is malformed.return None
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-01-30
Transformers V5正式发布!这次更新到底香不香?
2026-01-30
反击 OpenAI!谷歌史诗级更新:Gemini in Chrome 正式上线,免费用
2026-01-30
群体智能到来:浅谈Kimi K2.5之Agent Swarm
2026-01-30
Skill 不是 Prompt——从意向性到工程注入的范式转移
2026-01-30
自带 Nano 改图,一键总结 N 个网页!Chrome 这次更新,让所有 AI 插件都下岗了(附国内开启方法)
2026-01-29
你的 Moltbot 很可能正在裸奔:安全宝典清单
2026-01-29
Context Is All You Need:快手后端AI Coding的实践与思考
2026-01-29
别再神话 Claude Skills 了:这 12 个“致命”局限性你必须知道
2026-01-10
2026-01-24
2025-11-19
2025-11-13
2025-11-03
2026-01-01
2026-01-26
2025-12-09
2025-11-12
2025-11-15
2026-01-30
2026-01-29
2026-01-28
2026-01-28
2026-01-28
2026-01-26
2026-01-26
2026-01-23