news 2026/6/19 19:04:40

黑马大模型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/6/8 11:46:07

量子科技产业爆发,科大国创前瞻布局进入收获期

近日&#xff0c;中国科学家宣布&#xff0c;在可扩展量子网络研究方面取得重大突破&#xff0c;首次构建出可扩展量子中继的基本模块&#xff0c;使远距离量子网络成为现实可能。科研院所的实验室里&#xff0c;量子计算原型机正在处理比超级计算机快亿亿亿倍的计算任务&#…

作者头像 李华
网站建设 2026/6/12 11:52:11

亲测有效!企业年会扫码投票小程序实战分享

技术痛点引入 公司企业年会大屏扫码实时节目投票小程序的高并发处理与用户体验优化是当前行业普遍面临的难题。 解决方案定位 熹乐大屏互动针对这一问题提供了专业解决方案。 技术详解 该系统采用分布式架构和负载均衡技术&#xff0c;通过智能调度算法实现高效的请求处理和…

作者头像 李华
网站建设 2026/6/18 18:12:27

基于YOLOv11的农作物病虫害检测识别系统(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于YOLOv11的农作物病虫害检测识别系统(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码 项目描述 本系统是一个完整的基于YOLOv11pytorchFlaskSpringBootVueMySQL的农作物病虫害检测识别系统。以下是主要功能的简单介绍&#…

作者头像 李华
网站建设 2026/6/20 4:03:46

python新能源汽车数据分析大屏可视化系统(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

python新能源汽车数据分析大屏可视化系统(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码爬虫可用 前后端分离 技术栈&#xff1a;Django、Mysql、DataV 介绍 Python开发的汽车数据分析大屏可视化系统&#xff0c;旨在帮助用户…

作者头像 李华
网站建设 2026/6/18 20:23:24

计算机毕设java新疆IP形象NFT藏品网站 基于SpringBoot的新疆文化IP数字藏品交易平台 “丝路映象“非遗数字资产发行与展示系统

计算机毕设java新疆IP形象NFT藏品网站w6q0g9 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。在"东数西算"与"文化数字化"双重战略推动下&#xff0c;新疆丰…

作者头像 李华
网站建设 2026/6/18 5:27:18

GitHub 热榜项目 - 日榜(2026-02-08)

GitHub 热榜项目 - 日榜(2026-02-08) 生成于&#xff1a;2026-02-08 统计摘要 共发现热门项目&#xff1a; 12 个 榜单类型&#xff1a;日榜 本期热点趋势总结 本期GitHub热榜凸显AI驱动的实用开发工具成为核心趋势&#xff0c;开源社区正聚焦于提升开发效率与软件安全。O…

作者头像 李华