json模块使用

1、注意事项

json文件即使为空,内部也要有一个空的{},否则会报错

2、读取json

方法:json.loads  可以将包含了一个JSON数据的str、bytes、bytearray对象转化成一个Python Dictionary。

import json

def lx():
    zy = json.loads('{"inf": Infinity, "nan": NaN, "ninf": -Infinity}')
    print(zy)

if __name__ == '__main__':
    lx()

3、将Python对象转换为json对象

方法:json.dumps  dumps接受一个python对象作为必须参数(其他参数可选),而这个对象可以是任何python的数据类型。

import json

def lx():
    data={
        'a':2,
        'b':'练习'
    }
    du = json.dumps(data)
    print(du)

if __name__ == '__main__':
    lx()

4、将Python对象转换为可以储存到文件的fp文件流

方法:json.dump  

5、将fp文件流转换为Python对象

方法:json.load

其他常用参数:

Skipkeys:默认值是False,如果dict的keys内的数据不是python的基本类型(str,unicode,int,long,float,bool,None),设置为False时,就会报TypeError的错误。此时设置成True,则会跳过这类key。

ensure_ascii:默认值True,如果dict内含有non-ASCII的字符,则会类似uXXXX的显示数据,设置成False后,就能正常显示。
indent:应该是一个非负的整型,如果是0,或者为空,则一行显示数据,否则会换行且按照indent的数量显示前面的空白,这样打印出来的json数据也叫pretty-printed json。
separators:分隔符,实际上是(item_separator, dict_separator)的一个元组,默认的就是(',',':');这表示dictionary内keys之间用“,”隔开,而KEY和value之间用“:”隔开。
encoding:默认是UTF-8,设置json数据的编码方式。
sort_keys:将数据根据keys的值进行排序。

参考来源:https://www.jianshu.com/p/c7b3cac59
原文地址:https://www.cnblogs.com/zihkj/p/12147864.html