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/8/5 17:15:53 阅读更多 →
大模型与AI代理开发实战指南

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

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

2026/8/5 17:15:53 阅读更多 →
09-关键词与向量结合-Hybrid-Search混合检索实战

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

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

2026/8/5 17:15:53 阅读更多 →

最新新闻

5分钟零配置打包:PakePlus让网页变桌面应用的终极指南

5分钟零配置打包:PakePlus让网页变桌面应用的终极指南

5分钟零配置打包:PakePlus让网页变桌面应用的终极指南 【免费下载链接】PakePlus Turn any webpage/HTML/Vue/React and so on into desktop and mobile app under 5M with easy in few minutes. 轻松将任意网站/HTML/Vue/React等项目构建为轻量级(小于5M)多端桌面应…

2026/8/5 17:55:07 阅读更多 →
构建现代化博客系统的Mantine UI组件指南:从文章展示到用户互动

构建现代化博客系统的Mantine UI组件指南:从文章展示到用户互动

构建现代化博客系统的Mantine UI组件指南:从文章展示到用户互动 【免费下载链接】ui.mantine.dev Mantine UI website and components 项目地址: https://gitcode.com/gh_mirrors/ui/ui.mantine.dev 在当今内容驱动的互联网时代,一个美观且功能完…

2026/8/5 17:55:07 阅读更多 →
PoeCharm中文版:流放之路BD构建的终极免费解决方案

PoeCharm中文版:流放之路BD构建的终极免费解决方案

PoeCharm中文版:流放之路BD构建的终极免费解决方案 【免费下载链接】PoeCharm Path of Building Chinese version 项目地址: https://gitcode.com/gh_mirrors/po/PoeCharm 你是否在《流放之路》中为复杂的BD构建而苦恼?面对海量装备词缀、错综复杂…

2026/8/5 17:55:07 阅读更多 →
从零开始构建智能微信机器人:WeChatFerry终极指南

从零开始构建智能微信机器人:WeChatFerry终极指南

从零开始构建智能微信机器人:WeChatFerry终极指南 【免费下载链接】WeChatFerry 微信机器人,可接入DeepSeek、Gemini、ChatGPT、ChatGLM、讯飞星火、Tigerbot等大模型。微信 hook WeChat Robot Hook. 项目地址: https://gitcode.com/GitHub_Trending/w…

2026/8/5 17:55:07 阅读更多 →
Brave未来发展路线图:即将推出的5大令人期待的新功能

Brave未来发展路线图:即将推出的5大令人期待的新功能

Brave未来发展路线图:即将推出的5大令人期待的新功能 【免费下载链接】brave Basic Real-time AV Editor - allowing you to preview, mix, and route live audio and video streams on the cloud 项目地址: https://gitcode.com/gh_mirrors/brav/brave Brav…

2026/8/5 17:55:07 阅读更多 →
如何在5分钟内集成jquery.Thailand.js到你的网站?完整安装指南

如何在5分钟内集成jquery.Thailand.js到你的网站?完整安装指南

如何在5分钟内集成jquery.Thailand.js到你的网站?完整安装指南 【免费下载链接】jquery.Thailand.js ตัวช่วยกรอกที่อยู่ที่ดีที่สุดในไทย ไม่ต้องใช้ Server Side! 项目地址: https://gitcode.com/gh_mirrors/jq/jq…

2026/8/5 17:54:07 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →