Python中json的用法

import json
d1 = {'name':'bob', 'job':'IT', 'age':30}

 # 以字符串形式打印

s = json.dumps(d1)
print(s)

# 保存到文件

with open('d1.txt', 'w') as f:
    json.dump(d1, f)

# 载入

print(json.loads(s))

# 从文件读取

with open('d1.txt', 'r') as f:
    print(type(json.load(f)))

# 类的序列化

class Student:
    def __init__(self,name,age,score):
        self.name = name
        self.age = age
        self.score = score

def s2d(s):
    return {
        'name':s.name,
        'age':s.age,
        'score':s.score
    }
s = Student('bob', 20, 88)

class_str = json.dumps(s, default=s2d)
print(json.loads(class_str))

 # 通用方法

print(json.dumps(s, default=lambda obj: obj.__dict__))

 # 保存到文件

with open('d1.txt', 'w') as f:
    f.write(json.dumps(s, default=s2d))

 # 读取

with open('cl.txt', 'r') as f:
    json_str = json.load(f, object_hook=d2s)
    print(json_str)
posted @ 2020-11-09 16:06  Peter_Yi  阅读(113)  评论(0)    收藏  举报