news 2026/5/23 17:31:12

黑马大模型RAG与Agent智能体实战教程LangChain提示词——5、提示词工程(Json数据格式、json.dumps()、json.loads()、ensure_ascii=False)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
黑马大模型RAG与Agent智能体实战教程LangChain提示词——5、提示词工程(Json数据格式、json.dumps()、json.loads()、ensure_ascii=False)

https://www.bilibili.com/video/BV1yjz5BLEoY

https://hzh.sealos.run/

文章目录

  • 提示词工程-04、Json数据格式
    • Json结构介绍
    • →提示词:帮我创建第六个代码,根据图中内容,演示在python中使用json
    • ←AI回复
      • 06_JSON_Usage_Demo.py
    • 运行测试
    • 总结

提示词工程-04、Json数据格式

Json结构介绍


→提示词:帮我创建第六个代码,根据图中内容,演示在python中使用json

←AI回复

06_JSON_Usage_Demo.py

importjsondefmain():""" Python中使用JSON主要完成: 1. 将Python字典、列表转换为JSON字符串 2. 读取JSON字符串,转换为Python字典或列表 主要使用Python内置的json库: - json.dumps(): 将字典或列表转换为JSON字符串 - json.loads(): 将JSON字符串转换为Python字典或列表 """print("="*60)print("Python JSON 使用示例")print("="*60)# ========== 示例1: 使用 json.dumps() 将Python对象转换为JSON字符串 ==========print("\n【示例1】使用 json.dumps() 将Python字典转换为JSON字符串")print("-"*60)# 创建一个包含中文的Python字典python_dict={"姓名":"张三","年龄":25,"城市":"北京","职业":"软件工程师","技能":["Python","JavaScript","Java"],"联系方式":{"电话":"13800138000","邮箱":"zhangsan@example.com"}}print("原始Python字典:")print(python_dict)print(f"类型:{type(python_dict)}")# 使用 json.dumps() 转换为JSON字符串# ensure_ascii=False 确保中文能正常显示json_string=json.dumps(python_dict,ensure_ascii=False,indent=2)print("\n转换后的JSON字符串:")print(json_string)print(f"类型:{type(json_string)}")# ========== 示例2: 使用 json.dumps() 将Python列表转换为JSON字符串 ==========print("\n\n【示例2】使用 json.dumps() 将Python列表转换为JSON字符串")print("-"*60)python_list=[{"产品":"笔记本电脑","价格":5999,"库存":50},{"产品":"智能手机","价格":3999,"库存":100},{"产品":"平板电脑","价格":2999,"库存":30}]print("原始Python列表:")print(python_list)print(f"类型:{type(python_list)}")json_string_list=json.dumps(python_list,ensure_ascii=False,indent=2)print("\n转换后的JSON字符串:")print(json_string_list)print(f"类型:{type(json_string_list)}")# ========== 示例3: 使用 json.loads() 将JSON字符串转换为Python对象 ==========print("\n\n【示例3】使用 json.loads() 将JSON字符串转换为Python字典")print("-"*60)# 一个JSON格式的字符串json_str='{"学校": "清华大学", "专业": "计算机科学", "年级": 3, "课程": ["数据结构", "算法设计", "操作系统"]}'print("原始JSON字符串:")print(json_str)print(f"类型:{type(json_str)}")# 使用 json.loads() 转换为Python字典python_dict_from_json=json.loads(json_str)print("\n转换后的Python字典:")print(python_dict_from_json)print(f"类型:{type(python_dict_from_json)}")# 访问字典中的值print(f"\n访问字典值:")print(f"学校:{python_dict_from_json['学校']}")print(f"专业:{python_dict_from_json['专业']}")print(f"课程:{python_dict_from_json['课程']}")# ========== 示例4: 使用 json.loads() 将JSON字符串转换为Python列表 ==========print("\n\n【示例4】使用 json.loads() 将JSON字符串转换为Python列表")print("-"*60)json_list_str='[{"名称": "苹果", "价格": 8.5}, {"名称": "香蕉", "价格": 6.0}, {"名称": "橙子", "价格": 7.2}]'print("原始JSON字符串:")print(json_list_str)print(f"类型:{type(json_list_str)}")python_list_from_json=json.loads(json_list_str)print("\n转换后的Python列表:")print(python_list_from_json)print(f"类型:{type(python_list_from_json)}")# 遍历列表print("\n遍历列表内容:")foriteminpython_list_from_json:print(f"{item['名称']}: ¥{item['价格']}/斤")# ========== 示例5: 完整的数据转换流程 ==========print("\n\n【示例5】完整的数据转换流程:Python对象 -> JSON字符串 -> Python对象")print("-"*60)# 原始Python数据original_data={"订单号":"ORD20240101001","客户信息":{"姓名":"李四","地址":"上海市浦东新区"},"商品列表":[{"商品名":"商品A","数量":2,"单价":100},{"商品名":"商品B","数量":1,"单价":200}],"总金额":400}print("1. 原始Python字典:")print(json.dumps(original_data,ensure_ascii=False,indent=2))# 转换为JSON字符串(用于传输或存储)json_data=json.dumps(original_data,ensure_ascii=False)print(f"\n2. 转换为JSON字符串(用于传输或存储):")print(json_data)# 从JSON字符串转换回Python对象(用于处理)restored_data=json.loads(json_data)print(f"\n3. 从JSON字符串转换回Python字典:")print(json.dumps(restored_data,ensure_ascii=False,indent=2))# 验证数据是否一致print(f"\n4. 验证数据一致性:")print(f" 原始数据 == 恢复数据:{original_data==restored_data}")# ========== 示例6: ensure_ascii 参数的作用对比 ==========print("\n\n【示例6】ensure_ascii 参数的作用对比")print("-"*60)chinese_data={"消息":"你好,世界!","状态":"成功"}print("原始数据:",chinese_data)# ensure_ascii=True (默认值) - 中文会被转义为Unicode编码json_with_ascii=json.dumps(chinese_data,ensure_ascii=True)print(f"\nensure_ascii=True (默认):")print(json_with_ascii)# ensure_ascii=False - 中文正常显示json_without_ascii=json.dumps(chinese_data,ensure_ascii=False)print(f"\nensure_ascii=False (推荐用于中文):")print(json_without_ascii)print("\n"+"="*60)print("总结:")print("="*60)print("1. json.dumps(字典或列表, ensure_ascii=False):")print(" - 将Python字典或列表转换为JSON字符串")print(" - ensure_ascii=False 确保中文能正常显示")print(" - 返回值: JSON字符串")print("\n2. json.loads(json字符串):")print(" - 将JSON字符串转换为Python字典或列表")print(" - 返回值: Python字典或Python列表")print("="*60)if__name__=="__main__":main()

运行测试

python3 AI_LLM_RAG_Agent_Dev/06_JSON_Usage_Demo.py

结果:

============================================================Python JSON 使用示例============================================================【示例1】使用 json.dumps()将Python字典转换为JSON字符串 ------------------------------------------------------------ 原始Python字典:{'姓名':'张三','年龄':25,'城市':'北京','职业':'软件工程师','技能':['Python','JavaScript','Java'],'联系方式':{'电话':'13800138000','邮箱':'zhangsan@example.com'}}类型:<class'dict'>转换后的JSON字符串:{"姓名":"张三","年龄":25,"城市":"北京","职业":"软件工程师","技能":["Python","JavaScript","Java"],"联系方式":{"电话":"13800138000","邮箱":"zhangsan@example.com"}}类型:<class'str'>【示例2】使用 json.dumps()将Python列表转换为JSON字符串 ------------------------------------------------------------ 原始Python列表:[{'产品':'笔记本电脑','价格':5999,'库存':50},{'产品':'智能手机','价格':3999,'库存':100},{'产品':'平板电脑','价格':2999,'库存':30}]类型:<class'list'>转换后的JSON字符串:[{"产品":"笔记本电脑","价格":5999,"库存":50},{"产品":"智能手机","价格":3999,"库存":100},{"产品":"平板电脑","价格":2999,"库存":30}]类型:<class'str'>【示例3】使用 json.loads()将JSON字符串转换为Python字典 ------------------------------------------------------------ 原始JSON字符串:{"学校":"清华大学","专业":"计算机科学","年级":3,"课程":["数据结构","算法设计","操作系统"]}类型:<class'str'>转换后的Python字典:{'学校':'清华大学','专业':'计算机科学','年级':3,'课程':['数据结构','算法设计','操作系统']}类型:<class'dict'>访问字典值: 学校: 清华大学 专业: 计算机科学 课程:['数据结构','算法设计','操作系统']【示例4】使用 json.loads()将JSON字符串转换为Python列表 ------------------------------------------------------------ 原始JSON字符串:[{"名称":"苹果","价格":8.5},{"名称":"香蕉","价格":6.0},{"名称":"橙子","价格":7.2}]类型:<class'str'>转换后的Python列表:[{'名称':'苹果','价格':8.5},{'名称':'香蕉','价格':6.0},{'名称':'橙子','价格':7.2}]类型:<class'list'>遍历列表内容: 苹果: ¥8.5/斤 香蕉: ¥6.0/斤 橙子: ¥7.2/斤 【示例5】完整的数据转换流程:Python对象 ->JSON字符串 ->Python对象 ------------------------------------------------------------1. 原始Python字典:{"订单号":"ORD20240101001","客户信息":{"姓名":"李四","地址":"上海市浦东新区"},"商品列表":[{"商品名":"商品A","数量":2,"单价":100},{"商品名":"商品B","数量":1,"单价":200}],"总金额":400}2. 转换为JSON字符串(用于传输或存储):{"订单号":"ORD20240101001","客户信息":{"姓名":"李四","地址":"上海市浦东新区"},"商品列表":[{"商品名":"商品A","数量":2,"单价":100},{"商品名":"商品B","数量":1,"单价":200}],"总金额":400}3. 从JSON字符串转换回Python字典:{"订单号":"ORD20240101001","客户信息":{"姓名":"李四","地址":"上海市浦东新区"},"商品列表":[{"商品名":"商品A","数量":2,"单价":100},{"商品名":"商品B","数量":1,"单价":200}],"总金额":400}4. 验证数据一致性: 原始数据==恢复数据: True 【示例6】ensure_ascii 参数的作用对比 ------------------------------------------------------------ 原始数据:{'消息':'你好,世界!','状态':'成功'}ensure_ascii=True(默认):{"\u6d88\u606f":"\u4f60\u597d\uff0c\u4e16\u754c\uff01","\u72b6\u6001":"\u6210\u529f"}ensure_ascii=False(推荐用于中文):{"消息":"你好,世界!","状态":"成功"}============================================================总结:============================================================1. json.dumps(字典或列表,ensure_ascii=False): - 将Python字典或列表转换为JSON字符串 -ensure_ascii=False 确保中文能正常显示 - 返回值: JSON字符串2. json.loads(json字符串): - 将JSON字符串转换为Python字典或列表 - 返回值: Python字典或Python列表============================================================

总结

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 14:19:10

修正的Butler-Volmer方程

comsol多束锂枝晶生长模型。锂金属阳极表面冒出来的枝晶像一群不安分的触手&#xff0c;搞起破坏来比熊孩子拆家还狠。我在实验室里用COMSOL折腾多束枝晶模型的时候&#xff0c;发现这玩意儿比煮糊的意大利面还难预测——你永远不知道下一根枝晶会在哪个方向突然支棱起来。先甩…

作者头像 李华
网站建设 2026/5/22 21:17:53

2026年十大最美Linux发行版,每个都美到上瘾,且稳定强大

后台很多粉丝问:“我想换Linux,但要好看、不折腾,有哪些发行版推荐?”今天这篇超干货,就为大家盘点2026年十大最美Linux发行版。这些不是随便换壁纸,而是深度美化桌面、图标、动画,全开箱即用,颜值直接天花板! 这些发行版大多基于Ubuntu/Debian/Arch,稳定+最新软件。…

作者头像 李华
网站建设 2026/5/23 14:26:12

编写洗衣助手APP,拍照识别衣服面料洗涤标签,给出正确的洗涤方式,(手洗/机洗,水温,是否甩干),避免衣物洗坏,还能记录洗衣时间,提醒晾晒。

1. 实际应用场景 & 痛点引入 场景 你在家洗衣服时&#xff0c;面对各种面料的衣物&#xff08;棉、羊毛、丝绸、化纤等&#xff09;&#xff0c;常常因为看不懂洗涤标签或记错洗涤方式&#xff0c;导致衣物缩水、变形、褪色。 你希望有一个工具&#xff1a; - 拍照识别洗涤…

作者头像 李华
网站建设 2026/5/1 15:16:38

如何设置自定义Highcharts导出服务器?

设置自己的导出服务器 有时候你可能不想使用 Highcharts 的导出服务器&#xff0c;地址是 export.highcharts.com&#xff0c;比如你在运行一个安全性较高的网站&#xff0c;或者你不希望你的数据被传送到 Highcharts 的内容分发网络&#xff08;CDN&#xff09;中。 在搭建你…

作者头像 李华
网站建设 2026/5/1 14:10:34

2026别错过!10个降AI率软件降AIGC网站测评:自考论文降重必备神器

在2026年的自考论文写作中&#xff0c;AI生成内容&#xff08;AIGC&#xff09;的痕迹和查重率问题愈发成为考生们关注的焦点。随着教育机构对AI检测技术的不断升级&#xff0c;传统的论文撰写方式已难以满足当前的学术规范要求。因此&#xff0c;越来越多的学生开始寻求专业的…

作者头像 李华
网站建设 2026/5/23 6:58:40

基于32单片机的多功能电子语音时钟(有完整资料)

资料查找方式&#xff1a; 特纳斯电子&#xff08;电子校园网&#xff09;&#xff1a;搜索下面编号即可 编号&#xff1a; CJ-32-2022-009 设计简介&#xff1a; 本设计是32单片机的多功能电子语音时钟设计&#xff0c;主要实现以下功能&#xff1a; 1.通过OLED显示时间&a…

作者头像 李华