当前位置: 首页 > wzjs >正文

太湖县住房和城乡建设局网站公司关键词排名优化

太湖县住房和城乡建设局网站,公司关键词排名优化,做外贸自己公司的网站一定要吗,淮北叶红军大模型推理后JSON数据后处理 flyfish LLM 通常指的是 Large Language Model,也就是大语言模型,针对 JSON格式的输出,可以在大模型推理前、推理中、推理后进行处理,这里是在推理后进行处理。 针对模型输出结果,可采用结…

大模型推理后JSON数据后处理

flyfish
LLM 通常指的是 Large Language Model,也就是大语言模型,针对 JSON格式的输出,可以在大模型推理前、推理中、推理后进行处理,这里是在推理后进行处理。
针对模型输出结果,可采用结构化后处理流程对 JSON 进行格式校验与修复,确保生成结果符合数据交互规范。

json_repair 是一个用于修复格式错误的 JSON 字符串的 Python 库

1. 安装 json_repair

在使用之前,你需要先安装这个库,可以使用 pip 进行安装:

pip install json-repair

2. 基本用法:修复简单的格式错误

from json_repair import json_repair# 包含简单格式错误的 JSON 字符串(缺少引号)
broken_json = "{name: 'John', age: 30}"
try:repaired_json = json_repair(broken_json)print("修复后的 JSON 字符串:", repaired_json)
except Exception as e:print(f"修复出错: {e}")

在这个例子中,输入的 JSON 字符串缺少引号,json_repair 会尝试修复这些错误并返回一个格式正确的 JSON 字符串。

3. 处理包含注释的 JSON

from json_repair import json_repair# 包含 JavaScript 风格注释的 JSON 字符串
broken_json = '{/* 这是一个注释 */ "name": "John", "age": 30}'
try:repaired_json = json_repair(broken_json)print("修复后的 JSON 字符串:", repaired_json)
except Exception as e:print(f"修复出错: {e}")

json_repair 可以处理包含注释的 JSON 字符串,会自动移除注释并修复格式。

4. 修复多余逗号的问题

from json_repair import json_repair# 包含多余逗号的 JSON 字符串
broken_json = '{"name": "John", "age": 30,}'
try:repaired_json = json_repair(broken_json)print("修复后的 JSON 字符串:", repaired_json)
except Exception as e:print(f"修复出错: {e}")

JSON 标准中对象或数组末尾的多余逗号是不允许的,json_repair 会自动移除这些多余的逗号。

5. 修复嵌套结构的 JSON 错误

from json_repair import json_repair# 嵌套结构中存在格式错误的 JSON 字符串
broken_json = '{"person": {name: "John", age: 30}}'
try:repaired_json = json_repair(broken_json)print("修复后的 JSON 字符串:", repaired_json)
except Exception as e:print(f"修复出错: {e}")

即使是嵌套结构的 JSON 字符串,json_repair 也能尝试修复其中的格式错误。

6. 直接解析修复后的 JSON 为 Python 对象

import json
from json_repair import json_repair# 格式错误的 JSON 字符串
broken_json = "{name: 'John', age: 30}"
try:repaired_json = json_repair(broken_json)# 将修复后的 JSON 字符串解析为 Python 对象data = json.loads(repaired_json)print("解析后的 Python 对象:", data)
except Exception as e:print(f"出错: {e}")

在修复 JSON 字符串后,可以使用 json.loads 将其解析为 Python 对象进行后续处理。

7. 使用 json_repair.loads 直接解析并修复

from json_repair import loads# 格式错误的 JSON 字符串
broken_json = "{name: 'John', age: 30}"
try:# 直接解析并修复data = loads(broken_json)print("解析后的 Python 对象:", data)
except Exception as e:print(f"出错: {e}")

json_repair.loads 结合了修复和解析的功能,直接将格式错误的 JSON 字符串解析为 Python 对象。

8. 从文件中读取并修复 JSON

import json_repair# 假设文件 example.json 中包含格式错误的 JSON
file_path = "example.json"
try:with open(file_path, 'r', encoding='utf-8') as file:broken_json = file.read()# 修复并解析文件中的 JSONdata = json_repair.loads(broken_json)print("解析后的 Python 对象:", data)
except Exception as e:print(f"出错: {e}")

借助 jsonjson_repair 库实现了对 JSON 数据的修复、转换和验证功能

正确的JSON格式

[{"活动名称": "旋转木马","游玩体验": "孩子们玩得非常开心!","是否推荐": "超级推荐"},{"活动名称": "彩虹滑梯","游玩体验": "像在云朵上飞翔一样!","是否推荐": "推荐"}
]
  • 功能概述:该函数接收一个 JSON 字符串作为输入,尝试将其转换为特定的快乐游乐园数据格式。

  • 具体步骤

    1. 使用 json.loads 将输入的 JSON 字符串解析为 Python 对象。
    2. 定义内部递归函数 find_fun_entries 来遍历 Python 对象:
      • 若当前对象是字典,检查是否包含 "活动名称""游玩体验""是否推荐" 这三个键,如果包含则将该字典添加到 happy_list 中。
      • 若当前对象是列表,则递归调用 find_fun_entries 处理列表中的每个元素。
    3. 使用 json.dumpshappy_list 转换为格式化的 JSON 字符串并返回。
    4. 若解析过程中出现 JSONDecodeError,则返回错误提示信息。
  • 定义了三个测试用例:

    • amusement_park_json:有效但结构较复杂的 JSON 数据,需要提取特定条目。
    • broken_happy_json:包含格式错误的 JSON 数据,需要先修复再处理。
    • perfect_happy_json:已经符合目标格式的 JSON 数据,用于验证转换函数的正确性。

执行测试

  • 测试 1:使用 json_repair.loads 直接修复破损的 JSON 数据,并打印修复后的结果。
  • 测试 2:调用 convert_to_happy_format 函数处理有效但需要优化的 JSON 数据,打印转换后的结果。
  • 测试 3:先使用 json_repair.repair_json 修复破损的 JSON 数据并返回 Python 对象,再将其转换为 JSON 字符串后调用 convert_to_happy_format 函数进行处理,打印最终结果。
  • 测试 4:对已经符合目标格式的 JSON 数据调用 convert_to_happy_format 函数进行验证,打印结果。
import json
import json_repairdef convert_to_happy_format(json_str):"""转换JSON到快乐游乐园数据格式:1. 提取包含"活动名称"、"游玩体验"、"是否推荐"的条目2. 自动优化游玩体验描述的感叹号"""try:data = json.loads(json_str)happy_list = []def find_fun_entries(obj):if isinstance(obj, dict):# 检测快乐活动条目if all(key in obj for key in ["活动名称", "游玩体验", "是否推荐"]):happy_list.append(obj)# 快乐地探索数据for value in obj.values():find_fun_entries(value)elif isinstance(obj, list):for ride in obj:find_fun_entries(ride)find_fun_entries(data)return json.dumps(happy_list, ensure_ascii=False, indent=4)except json.JSONDecodeError:return "这个JSON好像被棉花糖粘住啦!需要先清理一下~"# 测试用例(游乐园场景)
# 有效但需要优化的JSON
amusement_park_json = '''
{"今日快乐日志": [{"活动名称": "旋转木马","游玩体验": "孩子们玩得非常开心。。。","是否推荐": "超级推荐"},{"活动名称": "彩虹滑梯","游玩体验": "像在云朵上飞翔一样","是否推荐": "推荐"},{"后勤记录": {"活动名称": "冰淇淋车","游玩体验": "香草口味卖光了","是否推荐": "不推荐"}}]
}
'''# 需要修复的破损JSON
broken_happy_json = '''
{"今日快乐日志": [{"活动名称": "旋转木马","游玩体验": "音乐声有点小,"是否推荐": "一般推荐"},{"活动名称": "摩天轮","游玩体验": "夜景美得就像星空","是否推荐": "强烈推荐"'''# 理想中的快乐数据
perfect_happy_json = '''
[{"活动名称": "旋转木马","游玩体验": "孩子们玩得非常开心!","是否推荐": "超级推荐"},{"活动名称": "彩虹滑梯","游玩体验": "像在云朵上飞翔一样!","是否推荐": "推荐"}
]
'''# 欢乐测试流程
print("🎪"*20 + " 开始快乐测试 " + "🎢"*20)print("\n🌈 测试1:直接处理破损的快乐JSON()")
try:fixed_data = json_repair.loads(broken_happy_json)print("修复后的快乐数据:\n", json.dumps(fixed_data, indent=4, ensure_ascii=False))
except Exception as e:print(f"😅 遇到小故障:{str(e)}")print("\n🎠 测试2:转换游乐园原始数据")
print("原始数据转换结果:")
print(convert_to_happy_format(amusement_park_json))print("\n🎡 测试3:修复并转换破损数据(按照指定格式)")
try:repaired = json_repair.repair_json(broken_happy_json, return_objects=True)print("最终快乐数据:\n", convert_to_happy_format(json.dumps(repaired)))
except Exception as e:print(f"🎪 游乐设施暂时关闭:{str(e)}")print("\n🍭 测试4:验证完美快乐数据")
print(convert_to_happy_format(perfect_happy_json))

输出

🎪🎪🎪🎪🎪🎪🎪🎪🎪🎪🎪🎪🎪🎪🎪🎪🎪🎪🎪🎪 开始快乐测试 🎢🎢🎢🎢🎢🎢🎢🎢🎢🎢🎢🎢🎢🎢🎢🎢🎢🎢🎢🎢🌈 测试1:直接处理破损的快乐JSON()
修复后的快乐数据:{"今日快乐日志": [{"活动名称": "旋转木马","游玩体验": "音乐声有点小","是否推荐": "一般推荐"},{"活动名称": "摩天轮","游玩体验": "夜景美得就像星空","是否推荐": "强烈推荐"}]
}🎠 测试2:转换游乐园原始数据
原始数据转换结果:
[{"活动名称": "旋转木马","游玩体验": "孩子们玩得非常开心。。。","是否推荐": "超级推荐"},{"活动名称": "彩虹滑梯","游玩体验": "像在云朵上飞翔一样","是否推荐": "推荐"},{"活动名称": "冰淇淋车","游玩体验": "香草口味卖光了","是否推荐": "不推荐"}
]🎡 测试3:修复并转换破损数据(按照指定格式)
最终快乐数据:[{"活动名称": "旋转木马","游玩体验": "音乐声有点小","是否推荐": "一般推荐"},{"活动名称": "摩天轮","游玩体验": "夜景美得就像星空","是否推荐": "强烈推荐"}
]🍭 测试4:验证完美快乐数据
[{"活动名称": "旋转木马","游玩体验": "孩子们玩得非常开心!","是否推荐": "超级推荐"},{"活动名称": "彩虹滑梯","游玩体验": "像在云朵上飞翔一样!","是否推荐": "推荐"}
]
http://www.dtcms.com/wzjs/33156.html

相关文章:

  • 网站设计师培训学校郑州整站关键词搜索排名技术
  • 招聘网站开发人员怎么找到精准客户资源
  • 个人网站建设营销型网站建设优化建站
  • 可以自己做攻略的网站百度在线识图查图片
  • 设计师能做网站前端吗b站推广网站入口
  • 自己做网站 最好的软件seo内部优化方式包括
  • 丹阳市建设局网站神马网站快速排名软件
  • 模板网站购买百度app首页
  • 网站增长期怎么做网络营销策划ppt范例
  • dz网站首页html代码在哪淘宝运营一般要学多久
  • 经营网站建设营销策划案例
  • 南京做网站联系南京乐识天津seo实战培训
  • 推广话术seo快速排名软件首页
  • 武汉城市建设网站关键信息基础设施安全保护条例
  • 网站去哪备案网络推广渠道
  • b2c网站建设湘潭网站制作
  • 广州知名网站推广app如何推广
  • 福田蒙派克哪家公司做seo
  • 南通企业做网站顾问
  • 北京有哪些网站建设杯子软文营销300字
  • 做网站的服务器还需要空间吗下载一个百度时事新闻
  • wordpress 网站卡太原做网站哪家好
  • 做网站用什么字体关联词有哪些关系
  • 网站源码 手机 微信做seo前景怎么样
  • 无锡网站制作启航好轻松seo优化排名
  • 做网站建设的销售薪水合肥网络推广公司
  • 茶楼网站模板网络公关公司联系方式
  • 做网站 钱百度网盘网页版登录入口官网
  • asp网站 被插入聚合搜索引擎入口
  • 上海网站建设哪家app推广地推接单网