python的json模块

Decoder对应表:

Encoder对应表:

Demo:

#!/usr/bin/env python3
# coding=utf-8

import json

a = ["aaa", 2, "ccccc", 4.4]
astr = json.dumps(a)
print(astr)
print(json.dumps(a, separators=(',', ':')))
print(json.dumps(a, indent=2))
print(json.loads(astr))

b = {"c": "1", "b": True, "a": None}
bstr = json.dumps(b)
print(bstr)
print(json.dumps(b, sort_keys=True))
print(json.loads(bstr))


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

    def __str__(self):
        return "Student:[name=%s,age=%d]" % (self.name, self.age)


class StuEncoding(json.JSONEncoder):
    def default(self, o: Student):
        return [o.name, o.age]


def stu_hook(d):
    return Student(d["name"], d["age"])


stu = Student("Tom", 13)
stustr = json.dumps(stu, cls=StuEncoding)
print(stustr)
studictstr = '{"name": "Jack", "age": 12}'
stuobj = json.loads(studictstr, object_hook=stu_hook)
print(stuobj)

fdict = {"id": 2, "Fname": "NAME3"}
with open("test_json.json", mode="w") as f1:
    json.dump(fdict, f1)
with open("test_json.json", mode="r") as f2:
    print(json.load(f2))

运行结果:

生成的test_json.json

 

 

参考:https://docs.python.org/3.8/library/json.html#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值