json 模块

目录

常用功能

主要函数和方法

1. json.dumps()

2. json.loads()

3. json.dump()

4. json.load()

参数说明


json 模块是 Python 标准库中用于处理 JSON 数据的模块。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于数据传输和存储。json 模块提供了将 Python 对象转换为 JSON 格式(序列化)和将 JSON 格式的数据转换回 Python 对象(反序列化)的方法。

常用功能

  1. 序列化(将 Python 对象转换为 JSON 字符串)
  2. 反序列化(将 JSON 字符串转换为 Python 对象)
  3. 处理 JSON 文件

主要函数和方法

1. json.dumps()

将 Python 对象转换为 JSON 字符串(序列化)。

import json# Python 对象
data = {"name": "Alice","age": 30,"is_student": False,"courses": ["Math", "Science"]
}# 序列化
json_str = json.dumps(data)
print(json_str)

输出:

{"name": "Alice", "age": 30, "is_student": false, "courses": ["Math", "Science"]}

2. json.loads()

将 JSON 字符串转换为 Python 对象(反序列化)。

import json# JSON 字符串
json_str = '{"name": "Alice", "age": 30, "is_student": false, "courses": ["Math", "Science"]}'# 反序列化
data = json.loads(json_str)
print(data)

输出:

{'name': 'Alice', 'age': 30, 'is_student': False, 'courses': ['Math', 'Science']}

3. json.dump()

将 Python 对象转换为 JSON 格式,并直接写入文件。

import json# Python 对象
data = {"name": "Alice","age": 30,"is_student": False,"courses": ["Math", "Science"]
}# 写入 JSON 文件
with open('data.json', 'w') as f:json.dump(data, f)

4. json.load()

从文件读取 JSON 数据,并将其转换为 Python 对象。

import json# 从 JSON 文件读取数据
with open('data.json', 'r') as f:data = json.load(f)print(data)

 

参数说明

  • json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False)

    • obj:要序列化的 Python 对象。
    • indent:指定缩进级别,使输出的 JSON 字符串更具可读性。
    • separators:控制分隔符,默认是 (', ', ': ')
    • default:指定如何处理非 JSON 可序列化的对象,如自定义类型。
  • json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=OrderedDict)

    • s:要反序列化的 JSON 字符串。
    • object_hook:指定如何将 JSON 对象转换为 Python 对象。
    • parse_floatparse_intparse_constant:自定义解析浮点数、整数和常量的函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/51013.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科技云报道:算网筑基AI注智,中国联通如何讲出AI时代的“新故事”?

科技云报道原创。 AI从未停止进化,也从未停止给人类带来惊喜。 从ChatGPT代表的文生文、Dall-E代表的文生图,到Sora代表的文生视频,Suno为代表的文生音乐,生成式AI的“暴力美学”持续突破内容生产的天花板,大模型技术…

Pytorch基础:Tensor的view方法(非连续张量也可以使用view)

相关阅读 Pytorch基础https://blog.csdn.net/weixin_45791458/category_12457644.html?spm1001.2014.3001.5482 在Pytorch中,view是Tensor的一个重要方法,用于返回一个改变了形状,但数据和数据的顺序与原来一致的新张量,但是新张…

VSCode 解决 pylint 报错 No name QWidget in module PyQt5.QtWidgets

问题 启用了 VSCode 的 Pylint 插件, 即便 Python 环境中安装了 PyQt5, 也无法正确解析 PyQt5 的导入 PyQt5 底层代码是用 C/C 写的, pylint 默认不会深入解析 pylint doesn’t load any C extensions by default, because those can run arbitrary code. 解决 修改 Settings…

Spark实时(六):Output Sinks案例演示

文章目录 Output Sinks案例演示 一、​​​​​​​File sink 二、​​​​​​​​​​​​​​Memory Sink 三、​​​​​​​​​​​​​​Foreach Sink 1、​​​​​​​foreachBatch 2、​​​​​​​​​​​​​​foreach Output Sinks案例演示 当我们对流式…

版本管理|为什么不推荐使用Git Rebase

文章目录 什么是 Git Rebase?如何使用 Git Rebase?基本语法示例更多选项 注意事项何时使用何时避免其他注意事项 为什么需要谨慎使用 Git Rebase?面试中的常见问题问题 1: Git Rebase 和 Git Merge 有何不同?问题 2: 为什么有时应…

kotlin协程-- 基础概念 ①|创建和使用

引言 首先先说一些相关概念 1.并发与并行 在操作系统中我们曾经学到过并发与并行 并发: 是同一个时刻只有一条指令在执行,其他指令没有再执行,但是由于CPU的时间片特别短,导致多个指令来回切换的时间间隔特别短,就好像是同一时间多条指令在执行。单核CPU与多核CPU都可以进…

STM32H7的USBFS与RTOS+CACHE存在未知的冲突

Freertos只创建了一个空任务。 USB中断优先级为5。 USB相关内存被自动放在了DTCM区,并且未开启DMA。 多次实验的现象为: 1.裸机时,开启CACHE,USB可以正常通信。 2.Freertos空任务,开启CACHE,USB上电后数秒…

【python】Python常见的面试题解析:深入探索与实践,助你少走弯路

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

若依ruoyi+AI项目二次开发(智能售货机运营管理系统)

(一) 帝可得 - 产品原型 - 腾讯 CoDesign (qq.com)

一些电脑的操作技巧,你知道吗?

我整理了几个电脑使用的实用技巧,能够帮你提升办公效率,一起来看看吧! 技巧一:反方向移动单元格 一般来讲,我们按下【Tab】键、【Enter】键的时候,会切换到右边或者下边的单元格,想要反向移动…

第2章 编译SDK

安装编译依赖 sudo apt-get update sudo apt-get install clang-format astyle libncurses5-dev build-essential python-configparser sconssudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool \ expect g patchelf chrpath gawk texinfo chrpath diffstat …

c++中的内联函数inline友元函数friend和仿函数类

在C的魔法世界里,有三种“超能力”:内联函数inline、友元函数friend和仿函数类。它们各具特色,但都拥有让代码更加优雅和强大的魔力。最近有同学开始使用友元函数来实现重载,既然这样,今天,我们就将他们三个…

董宇辉离职,我一点都不意外!只不过感觉来的太快

下面这张图,是我在半年多前写的一段随笔,没想到来的这么快! 碰巧的是今天中午,在开发者群里有两位老铁自曝,本以为能公司干到老,但公司却不给机会,已经不在是公司员工了。 最近,晓衡…

粗解React 和 Vue 的异同

相同点: 1、都使用虚拟 DOM【Virtural DOM】 Vue与React都使用了 Virtual DOM Diff算法, 不管是Vue的Template模板options api 写法, 还是React的Class或者Function写法,最后都是生成render函数,而render函数执行返回VNode(虚拟…

iOS collectionView 滑动出现空白

iOS collectionView 滑动出现空白 一个很常见的 banner 轮播,滑动的时候,有时候会出现空白,检查了下,发现代码没什么问题,上网查了也没啥结果,最后的解决方法是自定义layout解决 interface TMLoopViewLayo…

创新概念:柯尔莫哥洛夫-阿诺德网络

文章目录 一、说明二、基础概念三、kolmogorov-Arnold 网络性质3.1 KAN 的潜在优势3.2 挑战和注意事项 四、基本 KAN 超参数五、COLAB 代码六、注意点 一、说明 kolmogorov-Arnold 网络 (KAN) 是深度学习领域的一项“创新”,它提供了一种受现有 Kolmogorov-Arnold …

1180:分数线划定

思路&#xff1a; 简化&#xff1a; 我们可以用 define 把数对的 first 和 second 简化成 X 和 Y。随后用 typedef 把 pair<int,int> 简化成 PIR。 保存&#xff1a; 输入 num 和 score 后&#xff0c;我们可以用可变数组的 push_back() 来保存进去。 排序&#xff…

python基础---1.变量、运算符和表达式、基本数据结构

&#x1f388;个人主页&#xff1a;靓仔很忙i &#x1f4bb;B 站主页&#xff1a;&#x1f449;B站&#x1f448; &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;python &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&…

算法刷题笔记 Dijkstra求最短路(C++实现)

文章目录 题目描述基本思路实现代码 题目描述 给定一个n个点m条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c;所有边权均为正值。请你求出1号点到n号点的最短距离&#xff0c;如果无法从1号点走到n号点&#xff0c;则输出−1。 输入格式 第一行包含整数n和m。接…

使用Docker搭建MySql的主从同步+ShardingSphere搭建Mysql的读写分离

参考课程 尚硅谷ShardingSphere5实战教程&#xff08;快速入门掌握核心&#xff09;_哔哩哔哩_bilibili 主服务器 创建容器 docker run -d \ -p 3306:3306 \ -v /kira/mysql/master/conf:/etc/mysql/conf.d \ -v /kira/mysql/master/data:/var/lib/mysql \ -e MYSQL_ROOT…