四时宝库

程序员的知识宝库

python:json 模块的使用

一、JSON解读:本质就是一个有规则的字符串

  • 用作轻量级数据交换格式(个人觉得,重量级的 xml 更合适些)
  • 所有语言都支持解析字符串
  • 把【对象】转换成【字符串】叫做序列化(编码过程)
  • 把【字符串】转换成【对象】叫做反序列化(解码过程)

下面介绍 python 中 json 的使用(只用常用的列表和字典举例)。

二、常用4个方法(必选参数):

注意细节:

  • 转换成字符串后,单引号变为双引号
  • 把字符串转回对象使用时,要把字符串里的单引号转换成双引号

1、json.dumps(对象):把 python 对象序列化成字符串

2、json.dump(对象,文件对象):把 python 对象序列化成字符串,并存储到文件

3、json.loads(字符串):把字符串反序列化成 python 对象

4、json.load(文件对象):把文件对象打开,并反序列化成 python 对象


三、四个方法(可选参数)

dumps 和 dump 方法看源码 还有这些参数可用(介绍常用的)

skipkeys=False, ensure_ascii=True, check_circular=True,
        allow_nan=True, cls=None, indent=None, separators=None,
        default=None, sort_keys=False
  • skipkeys:判断字典的 key 值是不是python 的基本类型(str、int、float、bool、None)skipkeys=False:默认为False,不是基本类型,则报错;如果为True:不是基本类型跳过,不报错
  • ensure_ascii=True:默认为True,转义;如果为 False:可以包含非 ascii 码


  • indent=2:缩进2个字符。默认为None,不进行缩进;
  • separators=None:分割。默认是【逗号+空格、冒号+空格】进行分割;如果制定分割符或去掉空格则 separators=(',',':')
  • sort_keys=False:按 key 排序


loads 和 load 方法看源码,还有这些参数可用(基本不用)

四、JSON 与 Python 对象的类型对应关系

json 模块 常用的你懂了吗?

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接