python写入json文件编码问题,

  python写入json文件编码问题,

  简介

  JSON(JavaScript Object Notation)是一种轻量级数据交换格式,它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式。这些特性使得JSON成为一种理想的数据交换格式,便于人们读写,也便于机器分析和生成。它在接口数据开发和传输中非常常用。

  在Python3中,我们使用内置模块json对JSON对象进行解码和编码。

  json模块提供了四个功能:dumps、dump、loads、load

  转储将数据类型转换为字符串。

  Dump将数据类型转换为字符串,并将其存储在文件中。

  将字符串转换为数据类型。

  打开加载文件,将其从字符串转换为数据类型。

  转储编码

  我们使用转储将Python对象编码成JSON对象。当然,dumps只完成序列化为str,但是dump必须传递文件描述符并将序列化的str保存到文件中。

  编码字典

  importjson

  odata={www:1, pythontab.com:2, Python3:3}

  jdata=json.dumps(odata)

  打印结果样本(jdata):

  {www:1, pythontab.com:2, python 3 :3 }编码列表

  importjson

  ldata=[100, Python2 ,{www:1, pythontab.com:2, Python3:3}]

  jdata=json.dumps(ldata)

  打印结果样本(jdata):

  [100, Python3 ,{www:1, pythontab.com:2, python 3 :3 }]编码字符串

  importjson

  sdata=Python3

  jdata=json.dumps(sdata)

  打印结果样本(jdata):

  蟒蛇3号格式化输出JSON

  将下面的数组转换成标准json格式

  importjson

  ldata=[Python3 ,100,{www:1, pythontab.com:2, Python3:3},True]

  jdata=json.dumps(ldata,sort_keys=True,indent=4)

  打印结果样本(jdata):

  [

  Python3 ,

  100,

  {

  Python3:3,

  pythontab.com:2,

  www:1

  },

  真实的

  ]参数解析:

  Sort_keys=True,那么字典的输出将按照键的顺序排序。

  Indent=4表示缩进是4。如果indent为非负整数或字符串,JSON数组元素和对象成员将被美化并输出到该值指定的缩进级别。

  转换关系对照表

  下面是Python原语类型到JSON对象转换的对照表:

  loads解码

  我们使用加载来解码JSON对象。解码结果就是与之对应的Python对象类型。当然,loads只完成反序列化,load只接收文件描述符,读取文件并反序列化。

  比如我们用来解码上一个例子的数据。

  importjson

  jsondata=

  [

  Python3 ,

  100,

  {

  Python3:3,

  pythontab.com:2,

  www:1

  },

  真实的

  ]

  ldata=json.loads(jsondata)

  打印(类型(ldata))

  打印结果样本(ldata)

  类别“列表”

  [Python3 ,100,{Python3 :3, Python tab.com 33602, www 33601},true]可以看出我们在上一个例子中成功解码了JSON对象,最终解码结果为Python list对象类型,与Python对象的JSON对象对照表结果一致。

  总结

  Python3中的Json解析编码模块json使用起来非常简单,而且功能齐全,完全可以满足我们的日常需求。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: