python转json_python json数据的转换

1 Python数据转json字符串

import json

json_str = json.dumps(py_data)

1323525-20190116101404509-140480424.png

参数解析:

json_str = json.dumps(py_data,sort_keys=True,indent =4,separators=(',', ': '),encoding="gbk",ensure_ascii=True )

print json_dic2

1323525-20190116102704848-1552412149.png

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

2 json数据转python数据

import json

py_data = json.loads(json_str)

1323525-20190116101639984-565120382.png

3 json.dump()和json.load()是对文件流的操作

json.dump(x,f),x是对象,f是一个文件对象,这个方法可以将json字符串写入到文本文件中。

1323525-20190116103241713-2023076085.png

json.load()加载json格式文件读取json数据转为python数据 下面是从txt文件中读取了json数据

1323525-20190116103458634-1421914228.png

具体转化时,类型变化规则如下所示:

python --> json

1323525-20190116103803576-1821891336.png

json --> python

1323525-20190116103839748-982884183.png

转化重点提示:python中的元组(tuple)转变为json字符串式 tuple类型变为json数组类型(以列表形式展示) 将其转回为python对象时,json数组类型也并没有转回成tuple类型,而是转变为python 列表 而且编码格式也发生了变化,变成了Unicode编码!

Demo:

# 将python对象test转换json对象

test = [{"username":"测试","age":16},(2,3),1]

python_to_json = json.dumps(test,ensure_ascii=False)

print python_to_json

print type(python_to_json)

# 将json对象转换成python对象

json_to_python =json.loads(python_to_json)

print json_to_python print type(json_to_python)

运行结果:

1323525-20190116104853121-1033297053.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值