python之json基本操作_python json数据
haoteby 2025-10-23 02:19 2 浏览
1. 概述
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它具有简洁、清晰的层次结构,易于阅读和编写,还可以有效的提升网络传输效率。Python 标准库的 json 模块可以用来处理 JSON 格式数据的基本操作。
2. 使用
json 模块主要提供了 dump、dumps、load、loads 方法对 JSON 数据进行编解码。
2.1 dumps
json 模块的 dumps 方法可以将 Python 对象转为 JSON 格式字符串,以字典格式为例,看个示例:
import json
d = {'id':'001', 'name':'张三', 'age':'20'}
j = json.dumps(d, ensure_ascii=False)
print(j)
执行结果:
{"id": "001", "name": "张三", "age": "20"}
我们发现上面的输出结果并不是格式化的 JSON,dumps 方法还可以对数据进行格式化,如下所示:
import json
d = {'id':'001', 'name':'张三', 'age':'20'}
j = json.dumps(d, ensure_ascii=False, sort_keys=True, indent=4, separators=(',', ': '))
print(j)
执行结果:
{
"age": "20",
"id": "001",
"name": "张三"
}
当然,除了字典类型外,其他一些 Python 类型也可转成 JSON 格式的字符串,它们之间有对应关系如下所示:
再来看一下如何将 JSON 数据写入文件:
import json
d = {'id':'001', 'name':'张三', 'age':'20'}
j = json.dumps(d, ensure_ascii=False, sort_keys=True, indent=4, separators=(',', ': '))
with open('test.json', 'w', encoding='utf-8') as f:
f.write(j)
2.2 dump
json 模块的 dump 方法可以将 Python 对象序列化为 JSON 格式化流形式的文件类对象。
如果我们需要将数据写到文件里的时候,dump 方法会比 dumps 方法方便一点,看一下示例:
import json
d = {'id':'001', 'name':'张三', 'age':'20'}
with open('test.json', 'w', encoding='utf-8') as f:
json.dump(d, f, indent=4, ensure_ascii=False)
如果我们需要的数据格式为 JSON 格式字符串时,比如:将数据存入数据库,这时则需要用 dumps 方法。
2.3 loads
json 模块的 loads 方法可以将 JSON 格式数据转为 Python 对象,看个示例:
import json
j = '{"id":"001", "name":"张三", "age":"20"}'
d = json.loads(j)
print(d)
执行结果:
{'id': '001', 'name': '张三', 'age': '20'}
两者之间转换的对应关系如下所示:
我们再来读取一下之前生成的 test.json 中数据并将其转为 Python 对象,如下所示:
import json
with open('test.json', encoding='utf-8') as f:
data = f.read()
print(json.loads(data))
执行结果:
{'id': '001', 'name': '张三', 'age': '20'}
2.4 load
json 模块的 load 方法将文件类对象转为 Python 对象,看个示例:
import json
with open('test.json', encoding='utf-8') as f:
print(json.load(f))
执行结果:
{'id': '001', 'name': '张三', 'age': '20'}
我们可以看出 load 方法传的参数是文件对象,而 loads 方法参数传的是字符串。
Python学习日记
相关推荐
- 统统都能轻松装下。_如何安装统赢
-
今天必须来好好聊聊迈腾甄选款的外观升级优势,简直是把经典与时尚玩明白了!迈腾甄选款巧妙地保留了迈腾的经典气场和造型,就像一位历经岁月沉淀却风采依旧的绅士。2871mm的超长轴距搭配超短前后悬设计,这就...
- 麒麟操作系统常见问题:打开火狐浏览器提示没有安装flash插件
-
关键词:火狐浏览器、flash、插件、安装问题类型:...
- VS Code 新手必装插件清单_vs code 安装插件
-
以下是针对VSCode新手的必装插件清单,覆盖代码编辑、效率提升、美化等核心需求,适用于大多数开发场景:一、基础必备插件Chinese(Simplified)(简体中文)功能:将VSC...
- 开源JSON可视神器,让阅读JSON变得简单!-JSONHero
-
众所周知,现在有不少代码编辑器以及在线工具,都支持JSON格式化,因此这一特性,已经不能称的上是亮点。调试工具已经成为每个开发者不可或缺的“利器”。但是,你见过能直接可视化JSON数据,把整个...
- 在NAS上部署Barcode服务_nas basic
-
部署基于BWIP-JS的条形码生成APIBWIP-JS是一个优秀的JavaScript条形码生成库,它支持多种条形码类型,并且可以运行在Node.js环境下,非常适合用来构建API服务。...
- 详细介绍一下Python如何对JSON格式数据进行处理?
-
在Python中对于JSON数据的处理是在日常开发中的常见需求之一。通常情况下,对JSON数据的处理主要涉及到如下的的几个步骤对于JSON数据的解析操作对于JSON数据的处理操作对于JSON数据的格式...
- golang2021数据格式(69)Go语言将结构体数据保存为JSON格式数据
-
JSON格式是一种对象文本格式,是当前互联网最常用的信息交换格式之一。在Go语言中,可以使用json.Marshal()函数将结构体格式的数据格式化为JSON格式。想要使用json...
- 一个vsCode格式化插件_vscode 格式化文档
-
ESlint...
- 自己抓取家中IPTV组播地址,不用交换机或多网卡,远程抓取更方便
-
通过IPTV播放应用在电视、电脑或者手机观看家中的IPTV电视直播,可以摆脱IPTV机顶盒的限制,方便在家中多台电视或者手机电脑上观看IPTV电视直播。运营商IPTV的电视直播信号稳定、高清,和互联网...
- 扣子免费系列教程, 如何使用扣子(coze)对接飞书多维表格?
-
一、说明大家都知道使用扣子(coze)把一些文本内容转为小红书风格很方便。但每次都是复制粘贴。很麻烦那能不能批量呢?今天我们就来学习下,使用扣子(coze)平台完成内容的批量转换。基本思路是读取飞书多...
- 1024程序员节 花了三个小时调试 集合近50种常用小工具 开源项目
-
开篇1024是程序员节了,本来我说看个开源项目花半个小时调试之前看的一个不错的开源项目,一个日常开发常常使用的工具集,结果花了我三个小时,开源作者的开源项目中缺少一些文件,我一个个在网上找的,好多坑...
- 办公人必看!3分钟搞定JSON/XML/Markdown,格式转换竟如此简单!
-
你是不是也遇到过这些情况:领导突然甩来一份密密麻麻的数据文件,要你半小时内整理成报表;想写技术文档,却被Markdown的语法搞得头大;或者同事发来的JSON文件,打开全是“{”“}”“,”,看得眼花...
- 开发者必备!zerotools.top全栈效率神器
-
强烈建议开发者们收藏https://zerotools.top,用它来提升日常效率。一、功能覆盖:从数据到图像的全栈支持Zerotools.top的最大亮点,是其功能维度的完整性。根据最新页面...
- 15 个非常好用的 JSON 工具_json tools
-
JSON(JavaScriptObjectNotation)是一种流行的数据交换格式,已经成为许多应用程序中常用的标准。无论您是开发Web应用程序,构建API,还是处理数据,使用JSON工具可以大...
- C#.NET Newtonsoft.Json 详解_c# jsonresult
-
简介Newtonsoft.Json(又称...