json 模块

一. JSON简介

1.1 概述

JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

1.2 特点

json独立于语言 json具有自我描述性,更加理解 json比xml更小、更快、更易理解。

二. 方法

2.1 json.dumps() ---> 序列化

将python数据类型转换成json格式字符串

import json

my_dict = {'name': '孙悟空', 'age': 28}
print(my_dict, type(my_dict))            # {'name': '孙悟空', 'age': 28}   <class 'dict'>

res = json.dumps(my_dict)                # 对 python 字典进行序列化
print(res, type(res))                    # {"name": "\u5b59\u609f\u7a7a", "age": 28} <class 'str'>

2.2 json.loads() ---> 反序列化

将json格式字符串转换成对应的数据类型

import json

my_dict = '{"name": "孙悟空", "age": 28}'
print(my_dict, type(my_dict))            # {"name": "孙悟空", "age": 28}   <class 'str'>

res = json.loads(my_dict)                # 对 python 字典进行反序列化
print(res, type(res))                    # {'name': '孙悟空', 'age': 28} <class 'dict'>

2.3 json.dump(),json.load()

进行文件操作

# 导入模块
import json

d = {'username': 'jason', 'pwd': 123}

# 将字典写入文件,并序列化
with open(r'a.txt', 'w', encoding='utf8') as f:
    json.dump(d, f)

# 将文件内容获取出来, 并反序列化
with open(r'a.txt', 'r', encoding='utf8') as f:
    data = json.load(f)
    print(data, type(data))                   # {'username': 'jason', 'pwd': 123} <class 'dict'>
posted @ 2023-05-06 13:35  codegjj  阅读(1)  评论(0编辑  收藏  举报