Pythonpython 中 jsonclassstr 的相互转换

Posted jzsg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pythonpython 中 jsonclassstr 的相互转换相关的知识,希望对你有一定的参考价值。

参考: https://blog.csdn.net/qq_29201493/article/details/85697377

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@File    :   garbage_test.py
@Time    :   2019/06/15 08:26:17
@Author  :   California Fruit 
@Desc    :   None
'''


import json
class Student(object):
    def __init__(self, name, age, score,reward):
        self.name = name
        self.age = age
        self.score = score
        self.reward = reward

def json_2str():
    data_json = 'name':'nick',
            'age':12
    json_str = json.dumps(data_json)
    print type(json_str), json_str

def str_2json():
    json_str = '"age": 12, "name": "nick"'
    json_class = json.loads(json_str)
    print type(json_class), json_class

def class_2jsonStr():
    stu = Student('Bob', 20, 88,["三好学生","优秀团干","最佳辩手"])
    print json.dumps(obj=stu.__dict__,ensure_ascii=False)

def jsonStr_2class():

    def dict2student(d):
        return Student(d['name'], d['age'], d['score'],d['reward'])

    json_str = '"name": "Bob", "age": 20, "score": 88, "reward": ["三好学生", "优秀团干", "最佳辩手"]'
    student = json.loads(json_str,object_hook=dict2student)
    print(type(student))
    print(student.name)


if __name__ == "__main__":
    jsonStr_2class()


以上是关于Pythonpython 中 jsonclassstr 的相互转换的主要内容,如果未能解决你的问题,请参考以下文章

pythonpython中isinstance判断变量类型用法

Pythonpython动态类型

Pythonpython基本数据类型

PythonPython基本数据类型

pythonPython中常用的快捷键和BIF

pythonPython中常用的快捷键和BIF