news 2026/4/18 5:30:33

黑马大模型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/18 14:05:01

SQL语句性能优化分析及解决方案

前言 应用系统性能测试过程中&#xff0c;性能优化是绕不开的话题&#xff0c;对测试人员而言&#xff0c;性能优化的第一站就是SQL语句的优化与分析。因此本文主要以MySQL数据库为例&#xff0c;介绍常见的慢查询SQL语句执行效率分析与优化方法和简单示例&#xff0c;为致力于…

作者头像 李华
网站建设 2026/4/18 9:46:02

leetcode 929. Unique Email Addresses 独特的电子邮件地址

Problem: 929. Unique Email Addresses 独特的电子邮件地址 依次检查是否存在&#xff0c;若存在分割字符串&#xff0c;后缀检查长度>4且最后存在.com&#xff0c;前缀去掉和后续&#xff0c;去掉’.&#xff0c;检查前缀长度>0 Code class Solution { public:int num…

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

告别低效繁琐!断层领先的降AI率软件 —— 千笔·专业降AI率智能体

在AI技术深度渗透学术写作的当下&#xff0c;越来越多的学生开始借助AI工具提升论文写作效率。然而&#xff0c;随着知网、维普、万方等查重系统对AI生成内容的识别能力不断升级&#xff0c;以及Turnitin等国际平台对AIGC的严格检测&#xff0c;论文中的AI痕迹和重复率问题愈发…

作者头像 李华
网站建设 2026/4/17 22:06:55

思路分享--肿瘤细胞异质性过高怎么办?

作者&#xff0c;Evil Genius 在老家躺平还是好啊&#xff0c;打了2天麻将&#xff0c;输了200多。 今天我们来分享思路&#xff0c;关于肿瘤细胞的异质性问题。 肿瘤样本的异质性很高&#xff0c;从基因组学来讲&#xff0c;每种癌症都有很多种亚型&#xff0c;我们以肺癌中…

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

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

基于YOLOv8的农业害虫智能识别系统(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码完整农业害虫智能识别系统&#xff0c;包含前后端完整代码和高质量数据集 核心功能&#xff1a; 害虫智能识别&#xff1a;单图/批量识别&…

作者头像 李华