python json数据的转换

摘要:
1 Python数据到json字符串importjson json Str=json。dumps(py_data)参数解析:sort_keys=True,encoding=“gbk”,ensure_ascii=True)printjson_dic2 ensure_ascii:实际上是(item_separator,dict_separator)的元组。
1  Python数据转json字符串

  import json

  json_str = json.dumps(py_data)

python json数据的转换第1张

参数解析:

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

  print json_dic2

  python json数据的转换第2张

  •   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)

python json数据的转换第3张

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

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

  python json数据的转换第4张

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

   python json数据的转换第5张

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

python --> json

  python json数据的转换第6张

json --> python

  python json数据的转换第7张

转化重点提示: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)

  运行结果:

  python json数据的转换第8张

免责声明:文章转载自《python json数据的转换》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇日志服务:NLogvue主动刷新页面及列表数据删除后的刷新实例下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

easyPoi 工具类

import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.ea...

游戏服务器端开发的基本大纲

一 专业基础 1.1 网络 1.1.1 理解TCP/IP协议 网络传输模型 滑动窗口技术 建立连接的三次握手与断开连接的四次握手 连接建立与断开过程中的各种状态 TCP/IP协议的传输效率 思考 1)请解释DOS攻击与DRDOS攻击的基本原理 2)一个100Byte数据包,精简到50Byte, 其传输效率提高了50% 3)TIMEWAIT状态怎么解释? 1...

关于java调用sftp下载文件报 No such File 错误的问题总结

今晚总结下今下午遇到的java调用sftp下载对账文件报错的问题:   一开始配置文件是这样写的     而sftp的路径是这样的 java代码是这样写的 private boolean downloadSettleFile(String downloadPath,String merId,String merDate,SFTPUtil sftp,in...

Python——继承

Python的继承是多继承机制,一个子类可以同时有多个直接父类;继承可以得到父类定义的方法,子类就可以复用父类的方法。 一、继承的语法 子类:实现继承的类。 父类(基类、超类):被继承的类。 子类继承父类是在定义子类时,将多个父类放在子类之后的圆括号内,如果定义类时,未指定这个类的直接父类,则默认继承object类,所以object类是所有类的父类(直接父...

Shell脚本开发环境的配置和优化实践

1. 配置vim编辑器 1-1. 为什么不使用vi而是vim vi适合编辑普通文本,不适用编写脚本代码,例如:缺少高亮显示代码、自动缩进等重要功能; vim相当于高级编辑器,可以提高开发效率。 1-2. 设置vim为默认编辑器 [root@oldboy scripts]# echo 'alias vi=vim' >>...

归并排序(python实现)

""" 归并排序 典型的分而治之 递归实现分治的效果 """ def merge_sort(alist): if len(alist) <= 1: return alist # 分治排序 mid = len(alist)//2 left = merge_sort(alist[:mid]) r...