python基础学习(最终篇)
python基础学习(最终篇)
JieJSON 的基础使用
一. JSON 简介
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它是 JavaScript 的子集,易于人阅读和编写。
JSON 用来存储和交换文本信息,比 xml 更小/更快/更易解析,易于读写,占用带宽小,网络传输速度快的特性,适用于数据量大,不要求保留原有类型的情况。。
前端和后端进行数据交互,其实就是 JS 和 Python 进行数据交互!
二. JSON 语法规则
- 名称必须用双引号(即:” “)来包括
- 值可以是双引号包括的字符串、数字、true、false、null、JavaScript 数组或子对象
- 数据在 name/value 中
- 数据见用逗号分隔
- 花括号保存对象
- 方括号保存数组
三. JSON 数据类型
一并列举出 Python 与 JSON 数据类型的映射关系:
Python | JSON |
---|---|
— | — |
dict | object |
list, tuple | array |
str, unicode | string |
int, long, float | number |
True | true |
False | false |
None | null |
四. JSON 对象
在花括号中书写,对象可以包含多个名称/值对。
例如:
1 | {"firstname": "jonh", "lastname": "Doe"} |
五. JSON 数组
Employees 是包含三个对象的数组。
每个对象代表一条关于某个人名的记录,在方括号中书写,数组可以包含多个对象:
1 | { |
再比如:
1 | [ |
六. JSON 函数
使用 JSON 函数需要导入 json 库:<span style="color:red">
import json。
函数 | 描述 |
---|---|
json.dumps | 将 Python 对象编码成 JSON 字符串 |
json.loads | 将已编码的 JSON 字符串解码为 Python 对象 |
json.dump | 将 Python 内置类型序列化为 json 对象后写入文件 |
json.load | 读取文件中 json 形式的字符串元素转化为 Python 类型 |
encode | 将 Python 对象编码成 JSON 字符串 |
decode | 将已编码的 JSON 字符串解码为 Python 对象 |
1. json.dumps
json.dumps 用于将 Python 对象编码成 JSON 字符串。
1 | import json |
输出结果为:
1 | {"name": "nanbei", "age": 18} |
再如:
1 | import json |
输出结果为:
1 | { |
2. json.loads
json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。
1 | import json |
输出结果为:
1 | { |
再如:
1 | import json |
输出结果为:
1 | [1, 2, 3, 4] |
3. json.dump
将 Python 内置类型序列化为 json 对象后写入文件:
1 | import json |
4. json.load
读取文件中 json 形式的字符串元素转化为 Python 类型:
1 | import json |
5. encode
Demjson3
demjson3 是 python 的第三方模块库,可用于编码和解码 JSON 数据,包含了 JSONLint 的格式化及校验功能。
安装模块:
1 | pip install demjson3 |
Python encode() 函数用于将 Python 对象编码成 JSON 字符串。
1 | import demjson3 |
6. decode
Python 可以使用 demjson.decode() 函数解码 JSON 数据。该函数返回 Python 字段的数据类型。
1 | import demjson3 |
7. 参数说明
参数 | 作用 |
---|---|
skipkeys | 如果为 True 的话,则只能是字典对象,否则会 TypeError 错误, 默认 False |
ensure_ascii | 确定是否为 ASCII 编码 |
check_circular | 循环类型检查,如果为 True 的话 |
allow_nan | 确定是否为允许的值 |
indent | 会以美观的方式来打印,呈现,实现缩进 |
separators | 对象分隔符,默认为, |
encoding | 编码方式,默认为 utf-8 |
sort_keys | 如果是字典对象,选择 True 的话,会按照键的 ASCII 码来排序 |
总结
- dump:存入的实例对象 object(序列化)
- dumps:存入的 JSON 的字符串数据
- load:读取的实例对象 object(反序列化)
- loads:读取的 JSON 的字符串数据,转化为 Python 字典对象
❤️❤️❤️Python完结撒花😊❤️❤️❤️
Comment
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果