zoukankan      html  css  js  c++  java
  • python json数据的转换

    1  Python数据转json字符串

      import json

      json_str = json.dumps(py_data)

    参数解析:

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

      print json_dic2

      

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

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

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

      

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

       

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

    python --> json

      

    json --> python

      

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

      运行结果:

      

  • 相关阅读:
    kvm virtio
    GPU 线程块/线程束
    ubuntu source
    React
    分布式系统
    honpeyhonepy
    css是干什么的
    bootstrap中的横的列
    数据安全之 alert logic
    viewset的使用的方法
  • 原文地址:https://www.cnblogs.com/We612/p/10275785.html
Copyright © 2011-2022 走看看