Python中序列化/反序列化JSON格式的数据

基本概念

**  JSON:**

  JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解  析和生成,并有效地提升网络传输效率。

  **序列化:**是将数据结构或对象转换为字节流(二进制数据)以便存储或传输

  **反序列化:**是将字节流还原为原始数据结构或对象的过程。

json模块是Python标准库中的一个模块,用于处理JSON(JavaScript Object Notation)数据。它提供了一组函数来解析和生成JSON数据,使得在Python中处理JSON变得非常方便。

|-------------|--------|
| Python | JSON |
| dict | object |
| list, tuple | array |
| str | string |
| int, float | number |
| True | true |
| False | false |
| None | null |

Python序列化

  将Python数据对象转化为json格式的字符串

  语法:json.dumps()

复制代码
 1 num = 3.14
 2 name = 'hello'
 3 l = [1, 2, 3]
 4 t = (4, 5, 6)
 5 d = {'name': "hello", 'age': 19, "is_married": False, "gfs": None}
 6 
 7 print(repr(json.dumps(num)))  # '3.14'
 8 print(repr(json.dumps(name)))  # '"hello"'
 9 print(repr(json.dumps(l)))  # '[1, 2, 3]'
10 print(repr(json.dumps(t)))  # '[4,5,6]'
11 print(repr(json.dumps(d)))  # '{"name":"hello","age":19,"is_married":false,"gfs":null}'

Python反序列化

  将json格式字符串转为Python支持的数据对象格式

  语法:json.loads()

复制代码
1 import json
2 
3 s = '{"name":"hello","age":19,"is_married":false,"gfs":null}'
4 data = json.loads(s)
5 print(data, type(data))  # {'name': 'hello', 'age': 19, 'is_married': False, 'gfs': None} <class 'dict'>

补充:

JS的序列化和反序列化(前端JS和后端Python之间网络传输数据通过JSON来进行交换)

  序列化:JSON.stringify()

  反序列化:JSON.parse()

相关推荐
程序员三藏16 小时前
Python+requests实现接口自动化测试
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
傻啦嘿哟17 小时前
英雄联盟皮肤爬虫:爬取全皮肤价格与特效,做比价工具
java·c++·爬虫
一直走下去-明18 小时前
简单的http抓包解包完整代码
开发语言·python
雷帝木木18 小时前
数据湖与数据仓库:从理论到实践
人工智能·python·深度学习·机器学习
数字化转型分享点滴18 小时前
机加工车间上线 SH‑AIOT 物联网会遇到哪些常见实施难点
python·物联网
05664619 小时前
agent学习——流式响应与文本切分
网络·python·学习
OPEN-F19 小时前
Python进阶教程:正则表达式进阶与文本处理
开发语言·python·正则表达式
新网企兴19 小时前
2026年陕西做GEO推广,找新网企兴解决获客难题
python·搜索引擎
青 春 记 忆19 小时前
LeetCode 142. 环形链表 II|Python 解法详解
python·leetcode·链表
for_ever_love__19 小时前
python基础语法学习: 面向对象的三大特性
开发语言·python·学习