Python常用内置模块之json

json数据就是遵循一种格式的文本数据,用来使代码标准化,前后端交互最好的数据格式之一。

json数据就是个字符串,可以表示python中的数据,比如可以把dict,list等数据统统转化成json字符串,方便交流。

json模块四种常用方式:
带s的:

    json.loads  #把json字符串转化为python数据
  	json.dumps #把python数据转化为json字符串

不带s的:

	json.dump #把python数据转化为json字符串并储存在文件中
    json.load  #把文件中的json字符串转化为python数据

例子:
1、json数据转化为python对象

# json数据,转换成,python对象
# 1.字符串-》python对象
json_str = '{"name": "心蓝", "age": 18, "featue": ["高", "富", "帅"]}'
obj = json.loads(json_str)
print(obj['name'])
print(type(obj))
# 2.文件-》python对象
with open('demo.json', 'r', encoding='utf-8') as f:
    obj2 = json.load(f)
print(obj2)
print(type(obj2))

运行结果:
在这里插入图片描述
2、python对象转换为json数据

import json
# python对象,转换成,json数据
# 1. pytho对象-》json字符串
teacher = {
    "name": "心蓝",
    "age": 18,
    "featue": ["高", "富", "帅"]
}

json_str = json.dumps(teacher, ensure_ascii=False, indent=True)
# ensure_ascii = Fasle 可输出中文,否则,就是unicode
# indent = True 可以缩进输出,看起来比较清晰,默认是Fasle
# 会让数据体积变大

print(json_str)
print(type(json_str))
# 2. pyt对象-》json数据并写入文件
with open('test.json', 'w', encoding='utf-8') as f:
    json.dump(teacher, f)
#之后会生成一个test.json文件,里面写入了teacher的json数据!

运行结果:
Python常用内置模块之json_第1张图片

序列化时还可以对dict的key进行排序:
Python常用内置模块之json_第2张图片
转化为json数据时顺便排序了。

你可能感兴趣的:(Python学习笔记)