目录
json模块
简介
不同的编程语言之间的数据无法直接交互,需要中间有一个翻译官就是json模块。
所有编程语言拿到json数据,都可以将其转换为自己的一种数据类型,方便后续操作。
如python可以将json转为字典。
javascript可以将json转自定义对象。
json.dumps() 、json.loads()
# 1.dumps可以将字典类型转换为json格式的字符串
d1 = {'miku':'999','alice':'666','cloud':'0'}
print(d1,type(d1))
import json
json_str = json.dumps(d1) # {'miku': '999', 'alice': '666', 'cloud': '0'} <class 'dict'>
print(json_str,type(json_str)) # {"miku": "999", "alice": "666", "cloud": "0"} <class 'str'>
print(str(d1)) # {'miku': '999', 'alice': '666', 'cloud': '0'}
# 2.双引号是json字符串的特权
d1 = {"miku":"999","alice":"666","cloud":"0"} # 双引号字典
print(str(d1)) # {'miku': '999', 'alice': '666', 'cloud': '0'}
print(d1) # {'miku': '999', 'alice': '666', 'cloud': '0'}
# 也就是你在字典中使用双引号 实际还是单引号
# 2.loads就是反向操作 将json转字典
import json
d1 = {'miku':'999','alice':'666','cloud':'0'}
print(json.dumps(d1)) # {"miku": "999", "alice": "666", "cloud": "0"}
json_data = json.dumps(d1)
dict_obj = json.loads(json_data)
print(dict_obj) # {'miku': '999', 'alice': '666', 'cloud': '0'} # 注意,变单引号了
print(type(dict_obj)) # <class 'dict'>
json.dump() 、json.load()
'''dump load打交道的都是文件对象 可以在with下面子代码块使用'''
# 1.使用dump
d1 = {'miku':'999','alice':'666','cloud':'0'}
with open('a.txt','w',encoding='utf8') as f:
json.dump(d1,f) # 完成两个操作
# 1.将d1字典转化为json字符串
# 2.将json写入f文件对象
# 2.使用load
with open('a.txt','r',encoding='utf8') as f2:
dict_obj = json.load(f2) # load文件对象
print(dict_obj) # {'miku': '999', 'alice': '666', 'cloud': '0'}
print(type(dict_obj)) # <class 'dict'>
标签:666,999,miku,json,模块,cloud,d1
From: https://www.cnblogs.com/passion2021/p/16820434.html