当前位置: 首页 > 工具软件 > jQuery Dump > 使用案例 >

json dumps()参数详解

袁波
2023-12-01
import subprocess
import json

ports = []
res = subprocess.Popen("ls /data/mysql/",shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
b = res.stdout.read().strip()
mysql_port = b.split("\n")
for p in mysql_port:
    ports += [{'{#MYSQLPORT}':p}]
print json.dumps({'data':ports},sort_keys=True,indent=4,separators=(',',':'))
打印结果:
{
    "data":[
        {
            "{#MYSQLPORT}":"3306"
        },
        {
            "{#MYSQLPORT}":"3307"
        },
        {
            "{#MYSQLPORT}":"3308"
        },
        {
            "{#MYSQLPORT}":"3309"
        }
    ]
}

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的值进行排序。

 Decode过程,是把json对象转换成python对象的一个过程,常用的两个函数是loads和load函数。区别跟dump和dumps是一样的。

 类似资料: