Python进行JSON格式化输出

发布时间:2019-08-10 08:26:17编辑:auto阅读(2132)

    先写一个字典并将其转换成JSON格式:

    # encoding:utf-8
    
    import json
    
    dic = {'a': 1, 'b': 2, 'c': 3}
    js = json.dumps(dic)
    print(js)
    

    打印出的是如下这个样子,一行式的:

    {'a': 1, 'c': 3, 'b': 2}

    看上去还可以接受吧,但是万一这JSON有一长串串串串串的话……可能编辑器都要hold不住了。
    这个时候我们就可以对其进行格式化输出,json.dumps里就有自带的功能参数:

    # encoding:utf-8
    
    import json
    
    dic = {'a': 1, 'b': 2, 'c': 3}
    js = json.dumps(dic, sort_keys=True, indent=4, separators=(',', ':'))
    print(js)
    

    我们来对这几个参数进行下解释:
    sort_keys:是否按照字典排序(a-z)输出,True代表是,False代表否。
    indent=4:设置缩进格数,一般由于Linux的习惯,这里会设置为4。
    separators:设置分隔符,在dic = {'a': 1, 'b': 2, 'c': 3}这行代码里可以看到冒号和逗号后面都带了个空格,这也是因为Python的默认格式也是如此,如果不想后面带有空格输出,那就可以设置成separators=(',', ':'),如果想保持原样,可以写成separators=(', ', ': ')
    解释好了,最后看下运行成果:

    {
        "a":1,
        "c":3,
        "b":2
    }

    是不是棒棒的~

关键字