Python之dict(或对象)与json之间的相互转化

在python语言中,json数据与dict字典以及对象之间的转化,是必不可少的。

在python中自带json库。通过import json导入

在json模块有2个方法

  • loads():将json数据转化成dict数据
  • dumps():将dict数据转化成json数据
  • load():读取json文件数据,转成dict数据
  • dump():将dict数据转化成json数据后写入json文件

 

下面是具体的示例:

dict字典转json数据:

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数据:

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字典:

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数据转成对象:

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()方法的使用
    
    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()的使用:

  • 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()
    

     

 感谢作者的总结:https://blog.csdn.net/qq_33689414/article/details/78307018

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中将Cookie对象转换为JSON有几种方法。一种方法是使用json库中的dumps()函数将Cookie对象转化JSON格式的字符串。另一种方法是手动创建一个字典对象,将Cookie对象中的属性分别作为键值对存储在字典中,然后使用json库中的dumps()函数将字典对象转化JSON格式的字符串。 以下是第一种方法的实现示例代码: ```python import json from http.cookies import SimpleCookie # 创建Cookie对象 cookie = SimpleCookie() cookie['username'] = 'john' cookie['token'] = 'abcdef123456' # 将Cookie对象转为JSON格式的字符串 cookie_json = json.dumps(dict(cookie)) print(cookie_json) ``` 以上代码中,首先导入了json库和SimpleCookie类。接下来创建了一个Cookie对象,并添加了两个键值对(username和token)。然后使用dict()函数将Cookie对象转化为字典,并将字典对象传递给json.dumps()函数进行JSON编码。最后,将转化后的JSON字符串打印输出。 如果想要将Cookie对象转化JSON格式的文件,可以使用json库中的dump()函数。示例如下: ```python import json from http.cookies import SimpleCookie # 创建Cookie对象 cookie = SimpleCookie() cookie['username'] = 'john' cookie['token'] = 'abcdef123456' # 将Cookie对象转为JSON格式的文件 with open('cookie.json', 'w') as file: json.dump(dict(cookie), file) ``` 以上代码中,使用了json.dump()函数将Cookie对象转化JSON格式,并将转化后的JSON对象写入到名为cookie.json的文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值