python之json模块
本章节我们将为大家介绍如何使用 Python 语言来编码和解码 JSON 对象。使用 JSON 函数需要导入 json 库import json。一、json模块常见用法1、json.dumps()、json.loads()、json.dump()、json.load()用法json.dumps()将python中的字典/列表转换为json字符串 [dict→str] 备注除了字典如果列表中的每个值都是字典也能转换为json字符串在 Python 中列表也可以作为 json.dumps() 的参数只是这个列表的每个值为一个字典json.dumps()的作用正是将 Python 对象包括列表、字典等序列化为 JSON 格式的字符串。json.loads()将json字符串转换为字典类型python对象 [str→dict]如果json字符串包含null也能将null转为python中对应的None在 Python 中列表也可以直接使用json.loads()方法但有一个关键前提这个列表必须是 JSON数组格式字符串。详细说明 json.loads()的作用是将 JSON 格式的字符串 解码为 Python 对象。它支持 JSON 的两种顶层结构 JSON 对象{}→ 转换为 Python 字典dictJSON 数组[]→ 转换为 Python 列表list备注如果要输出json中某个key对应的value需要先使用json.loads转为字典然后再使用字典对象[key]格式输出某个key对应的valuejson.dump()将数据转为json格式并写入文件无返回json.load()表示读取json文件返回python对象也即字典loads和dumps处理的是字符串load和dump处理的主要是文件2、json格式化json.dumps() 方法将python字典转/列表为 JSON 字符串后可以使用indent 参数定义缩进和换行。格式如下技巧1使用indent参数可进行缩进和换行data{a:1,b:2,c:3,d:4,e:5}json.dumps(data,indent4)#indent4 表示换行时候缩进4个字符json.dump(data,file,indent4)技巧2使用ensure_ascii参数可避免中文字符被转义成\uXXXX形式若为 True所有非 ASCII 字符会被转义成 \uXXXX 形式若为 False非 ASCII 字符会原样输出。默认值是 True。importjson data{name:张三}json_strjson.dumps(data,ensure_asciiFalse)print(json_str)技巧3除了字典如果列表中的每个值都是字典也能转换为json字符串格式的列表如下例子importjson# 假设有一个包含JSON类型数据的列表data[{name:wang,age:16,weight:168},{name:liu,age:26,weight:170}]# 使用json.dumps方法将列表转换为字符串形式data_strjson.dumps(data)print(data_str)运行结果如下[{name:wang,age:16,weight:168},{name:liu,age:26,weight:170}]3、json排序json.dumps() 方法提供了对结果中的键进行排序的参数json.dumps(x,indent4,sort_keysTrue)#json消息体换行后缩进4个字符键按字母顺序排序二、实践2.1、json.dumpsimportjson data{a:1,b:2,c:3,d:4,e:5}data2json.dumps(data)print(data2)运行的结果是{a:1,b:2,c:3,d:4,e:5}2.2、json.loadsimportjson jsonData{a:1,b:2,c:3,d:4,e:5};textjson.loads(jsonData)print(text)运行的结果是{a:1,b:2,c:3,d:4,e:5}2.3、json.dumpimportjson data{age: 12}fileopen(rD:\Document\Workspace\pywokrspace\test1\001\1.json,w,encodingutf-8)json.dump(data,file)# json.dump()函数的使用将json信息写进文件2.4、json.loadimportjsonfileopen(rD:\Document\Workspace\pywokrspace\test1\001\1.json,r,encodingutf-8)# json.load()函数的使用将读取json信息json5json.load(file)print(json5)三、python中字典和JSON的区别数据类型支持字典可以包含各种 Python 数据类型作为键和值例如整数、浮点数、字符串、列表、元组、字典等。JSON 主要支持字符串、数字、布尔值、对象类似于字典、数组和 null 。语法格式字典使用花括号 {} 键值对之间用冒号 : 分隔键和值可以是各种 Python 表达式。JSON使用花括号 {} 键值对之间用冒号 : 分隔但值必须是符合 JSON 规范的字符串、数字、布尔值、对象、数组或 null 。字典的键和值可以使用单引号、双引号如{id: 16, username: john_doe3, email: john3_3example.com}JSON的键和值一定是双引号如{id: 16, username: john_doe3, email: john3_3example.com}因为语法格式相似因此看上去很相似可以使用python中type()函数来查看变量类型。数据交换字典是 Python 内部的数据结构主要用于在 Python 程序中存储和操作数据。JSON 是一种用于数据交换的轻量级格式常用于在不同的编程语言和系统之间传输数据。序列化和反序列化要将 Python 字典转换为 JSON 格式需要使用相应的库如 json 模块进行序列化操作。从 JSON 字符串转换为 Python 字典也需要进行反序列化操作。四、JSON、dict转换中特殊等价关系

相关新闻

10-使用Reranker提升RAG回答准确率

10-使用Reranker提升RAG回答准确率

使用 Reranker(重排模型)提升 RAG 知识库回答准确率系列:从零构建企业 RAG 知识库(第 10 篇)1. 为什么召回后还要重排 第一阶段检索追求“别漏掉”,通常快速取 20—100 个候选;生成模型上下文却…

2026/10/25 23:58:11 阅读更多 →
大模型与AI代理开发实战指南

大模型与AI代理开发实战指南

1. 大模型与AI代理技术全景解析在人工智能技术快速迭代的当下,大模型与AI代理已成为开发者必须掌握的核心技能。不同于传统的单任务模型,现代AI代理系统通过大语言模型(LLM)作为核心处理器,配合工具调用、记忆存储和任…

2026/10/26 13:42:13 阅读更多 →
09-关键词与向量结合-Hybrid-Search混合检索实战

09-关键词与向量结合-Hybrid-Search混合检索实战

关键词检索与向量检索结合:Hybrid Search(混合检索)实战 系列:从零构建企业 RAG 知识库(第 9 篇) 1. 为什么两种检索互补 向量检索擅长同义表达和语义相关;关键词检索擅长精确编号、产品名、错…

2026/10/25 14:12:35 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/25 22:36:10 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/26 4:52:12 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/26 5:00:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/26 3:16:46 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:21:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →