在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作。
在Python中自带json库。通过import json导入。
在json模块有2个方法,
loads():将json数据转化成dict数据
dumps():将dict数据转化成json数据
load():读取json文件数据,转成dict数据
dump():将dict数据转化成json数据后写入json文件
下面是具体的示例:
dict字典转json数据
1
2
3
4
5
6
7
8
9
10
11
|
import json
def dict_to_json():
dict = {}
dict [ 'name' ] = 'many'
dict [ 'age' ] = 10
dict [ 'sex' ] = 'male'
print ( dict ) # 输出:{'name': 'many', 'age': 10, 'sex': 'male'}
j = json.dumps( dict )
print (j) # 输出:{"name": "many", "age": 10, "sex": "male"}
if __name__ = = '__main__' :
dict_to_json()
|
对象转json数据
1
2
3
4
5
6
7
8
9
10
11
|
import json
def obj_to_json():
stu = Student( '007' , '007' , 28 , 'male' , '13000000000' , '123@qq.com' )
print ( type (stu)) # <class 'json_test.student.Student'>
stu = stu.__dict__ # 将对象转成dict字典
print ( type (stu)) # <class 'dict'>
print (stu) # {'id': '007', 'name': '007', 'age': 28, 'sex': 'male', 'phone': '13000000000', 'email': '123@qq.com'}
j = json.dumps(obj = stu)
print (j) # {"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "123@qq.com"}
if __name__ = = '__main__' :
obj_to_json()
|
json数据转成dict字典
1
2
3
4
5
6
7
|
import json
def json_to_dict():
j = '{"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "123@qq.com"}'
dict = json.loads(s = j)
print ( dict ) # {'id': '007', 'name': '007', 'age': 28, 'sex': 'male', 'phone': '13000000000', 'email': '123@qq.com'}
if __name__ = = '__main__' :
json_to_dict()
|
json数据转成对象
1
2
3
4
5
6
7
8
9
10
|
import json
def json_to_obj():
j = '{"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "123@qq.com"}'
dict = json.loads(s = j)
stu = Student()
stu.__dict__ = dict
print ( 'id: ' + stu. id + ' name: ' + stu.name + ' age: ' + str (stu.age) + ' sex: ' + str (
stu.sex) + ' phone: ' + stu.phone + ' email: ' + stu.email) # id: 007 name: 007 age: 28 sex: male phone: 13000000000 email: 123@qq.com
if __name__ = = '__main__' :
json_to_obj()
|
json的load()与dump()方法的使用
dump()方法的使用
1
2
3
4
5
6
7
8
9
10
11
|
import json
def dict_to_json_write_file():
dict = {}
dict [ 'name' ] = 'many'
dict [ 'age' ] = 10
dict [ 'sex' ] = 'male'
print ( dict ) # {'name': 'many', 'age': 10, 'sex': 'male'}
with open ( '1.json' , 'w' ) as f:
json.dump( dict , f) # 会在目录下生成一个1.json的文件,文件内容是dict数据转成的json数据
if __name__ = = '__main__' :
dict_to_json_write_file()
|
load()的使用
1
2
3
4
5
6
7
|
import json
def json_file_to_dict():
with open ( '1.json' , 'r' ) as f:
dict = json.load(fp = f)
print ( dict ) # {'name': 'many', 'age': 10, 'sex': 'male'}
if __name__ = = '__main__' :
json_file_to_dict()
|
以上这篇Python之dict(或对象)与json之间的互相转化实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_33689414/article/details/78307018