news 2026/5/1 4:01:16

黑马大模型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/4/9 14:50:10

计算机毕业设计springboot露营活动装备租凭系统的设计与实现 基于SpringBoot的户外露营设备在线租赁平台的设计与实现 SpringBoot框架下野营用品智能化租借服务系统的构建与应用

计算机毕业设计springboot露营活动装备租凭系统的设计与实现9dyj1440 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。近年来&#xff0c;随着国内户外运动热潮的兴起和"精致…

作者头像 李华
网站建设 2026/5/1 6:52:28

信息洪流中的灯塔:一站式信息聚合工具

在信息爆炸的时代&#xff0c;如何高效获取有价值的内容成为现代人的核心挑战。我们向您介绍一款创新的信息聚合工具——它像一座精心设计的灯塔&#xff0c;在信息的海洋中为您指引方向&#xff0c;将多个高质量内容源汇聚一处&#xff0c;让您不错过任何重要的行业动态、技术…

作者头像 李华
网站建设 2026/4/30 16:57:13

美团王慧文“点将”OpenClaw:这次他瞄准了AI的“铁饭碗”!

2026年2月7日&#xff0c;凌晨——这位曾经的“出海大王”又发了一封英雄帖。时隔三年&#xff0c;王慧文&#xff08;美团联合创始人&#xff09;在即刻上发文&#xff0c;宣布倾注全力关注一款名为Clawdbot&#xff08;现改名为OpenClaw&#xff09;的AI Agent项目。 这不是一…

作者头像 李华
网站建设 2026/5/1 7:24:32

强烈安利8个AI论文工具:研究生毕业论文写作必备测评与推荐

在当前学术研究日益数字化的背景下&#xff0c;研究生群体在论文写作过程中面临诸多挑战&#xff1a;从文献检索、大纲构建到内容撰写、格式规范&#xff0c;每一个环节都可能成为效率瓶颈。尤其是在AI技术快速发展的今天&#xff0c;如何选择一款真正契合自身需求的AI写作工具…

作者头像 李华
网站建设 2026/4/18 10:49:43

2026冲刺用!9个AI论文平台深度测评,研究生毕业论文写作必备工具推荐

随着人工智能技术的不断进步&#xff0c;学术写作工具正逐步成为研究生群体不可或缺的得力助手。2026年&#xff0c;面对日益繁重的论文写作任务和严格的格式要求&#xff0c;如何高效、高质量地完成毕业论文&#xff0c;成为众多研究生关注的核心问题。为了帮助大家在激烈的学…

作者头像 李华
网站建设 2026/4/23 18:34:52

【YOLOv8多模态创新改进】全网独家复现创新 | TGRS 2025 | 引入MROD -YOLO的 MJRNet 多模态联合表征网络模块,对可见光与红外信息的早期深度融合、充分发挥多模态互补优势

一、本文介绍 🔥本文给大家介绍使用 MJRNet 多模态联合表征网络模块改进 YOLOv8 多模态目标检测模型,其核心作用是在网络前端实现高质量的多模态联合表征学习,通过对可见光与红外信息的早期深度融合,为后续检测提供信息充分且对齐良好的输入特征。MJRNet 利用全局上下文注…

作者头像 李华