一、简介:
json (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)
二、序列化与反序列化函数及实例
所谓序列化,就是python编码为json类型;反序列化,就是json解码为python类型。下文将会详细展开Python里这两种的具体函数:
1、序列化 - python编码为json类型
(1)json.dumps():把python数据类型转换成json字符串
import json
# 把python数据类型转换成json字符串
dict_data = {'name': 'saxon', 'age': 18}
print('dict_data', end = ':')
print(dict_data)
print('dict_data type',end = ':')
print(type(dict_data))
json_data = json.dumps(dict_data)
print('json_data', end = ':')
print(json_data)
print('json_data type',end = ':')
print(type(json_data))
输出:
(2)json.dump():把python数据类型转换成json字符串并存储在文件中
import json
# 把python数据类型转换成json字符串并存储在文件中
dict_data = {'name': 'saxon', 'age': 18}
with open('data/json_data.json', 'w') as f: # ‘w’表示写入文件,文件不存在则创建,存在则覆盖
json.dump(dict_data, f)
print("载入文件完成...")
f.close()
输出:
2、反序列化 - json解码为python类型
(1)json.loads():解析json数据,返回python中的数据类型
import json
# 解析json数据,返回python中的数据类型
json_data = '{"name": "saxon", "age": 18}'
dict_data = json.loads(json_data)
print('dict_data', end = ':')
print(dict_data)
print('dict_data type',end = ':')
print(type(dict_data))
输出:
(2)json.load():打开json文件,解析json数据,返回python中的数据类型
import json
# 打开json文件,解析json数据,返回python中的数据类型
with open('data/json_data.json','r') as f:
dict_data = json.load(f)
print("解析文件完成...")
print('dict_data', end = ':')
print(dict_data)
print('dict_data type',end = ':')
print(type(dict_data))
f.close()
输出:
三、格式化输出Python数据类型到JSON文件
我们常用json文件来进行大规模的数据存储和处理,故良好的缩进格式会提升阅读效率,格式化输出的代码如下:
import json
# 格式化输出python数据类型到json文件
dict_data = {'name': 'saxon', 'age': 18, 'hobby': ['basketball', 'football']}
with open('data/json_data.json', 'w') as f:
# f.write(json.dumps(dict_data, indent=4, ensure_ascii=False))
json.dump(dict_data, f, indent=4, ensure_ascii=False)
print("格式化输出完成...")
f.close()
其中,indent=4设置json文件格式的缩进为4个空格,增加格式美观度;ensure_ascii=False指定不对非ASCII字符进行编码,直接输出中文至文件。
输出:
四、Python与JSON的数据类型转换对应表
1、python类型编码为json类型转换对应表
Python |
JSON |
---|---|
dict |
object |
list, tuple |
array |
str |
string |
int, float, int- & float-derived Enums |
number |
True |
true |
False |
false |
None文章来源地址https://www.toymoban.com/news/detail-724545.html |
null文章来源:https://www.toymoban.com/news/detail-724545.html |
2、json类型解码为python类型转换对应表
JSON |
Python |
---|---|
object |
dict |
array |
list |
string |
str |
number (int) |
int |
number (real) |
float |
true |
True |
false |
False |
null |
None |
到了这里,关于Python如何处理JSON数据,保姆级教程,小白也能玩转的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!