python:JSON数据格式的转换

Python,JSON是一种流行的数据格式,用于系统之间的数据交换。JSON模块提供了处理JSON数据࿰的函数c;允许您将Python对象序列化为JSON字符串�并将JSON字符串反序列化回Python对象。

JSON序列化。

JSON序列化是将Python对象转换为JSON格式的过程。这是一种容易传输或存储数据的格式,以后重建回原来的形式是非常有用的。

Python为JSON序列化和反序列化提供了json模块。在这个模块中,我们可以使用json.dumps()序列化的方法。

json.dumps()方法。

语法:

json。.。dumps。(。obj。,*。,skipkeys。=False。,ensure_ascii。=True。,check_circular。=True。,allow_nan。=True。,cls。=None。,indent。=None。,separators。=None。,default。=None。,sort_keys。=False。,**。kw。)。

功能。:将。obj。序列化为 JSON 格式字符串,使用以下转换表:
在这里插入图片描述

dumps()方法参数说明。

  • skipkeys。:如果。 skipkeys。为。 True。(默认值:False。),会跳过那些不是基本类型的(str、int、float、bool、None)key࿰字典c;而不是。TypeError。
  • ensure_ascii。:如果。 ensure_ascii。为。 True。(默认值)#xff0;,输出将确保所有输入的非输出 ASCII 所有的字符都被转义。如果。 ensure_ascii。为。 False。,这些字符将按原样输出。
  • check_circular。:如果。 check_circular。为。 False。(默认值:True。),检查࿰,跳过对容器类型的循环c;会导致循环引用。 RecursionError。(或者更糟)。
  • allow_nan。:如果。 allow_nan。为。 False。(默认值:True。),严格遵循 JSON 在规范的情况下,超出范围的序列化浮点值(nan。, inf。, -inf。)将引发。 ValueError。。如果。 allow_nan。为。 True。,它们将被使用 JavaScript 等价物(NaN。, Infinity。, -Infinity。)。
  • indent。:如果。 indent。非负整数或字符串,那么 JSON 数组元素和对象成员将以这个缩进级别进行美化和打印。一个缩进级为0、负或空字符串(")只能插入换行符。使用。 None。(默认值)#xff0;选择最紧凑的表达方式。使用正整数缩进,每个级别都会缩小这么多空间。如果。 indent。字符串(例如。 "\t"),然后,字符串将用于每个级别的缩进。
  • separators。:若指定。 separators。,它应该是一个。 (item_separator, key_separator)。元组。如果 indent 是 None,默认值是。 (', ', ': ')。,否则是。 (',', ': ')。。得到最紧凑的 JSON 表示形式󿀌您应该指定。 (',', ':')。消除空白字符。
  • default。:若指定。 default。,它应该是函数,用于处理不能通过其他方式序列化的对象。这个函数应该返回一个可以被允许的函数 JSON 编码版本的对象,或者抛出一个。 TypeError。。假如没有指定。 default。,则会抛出。 TypeError。
  • sort_keys。:如果。 sort_keys。为。True。(默认值为。False。),按键排序字典的输出。

示例。

示例:将python字典转换为JSON字符串。

import。jsondata。 ={ 。"省份":。"陕西","城市":。"延安"}。}。

使用以下代码反序列化:

import。json。with。open。(。'data.json','r',encoding。='UTF-8')。as。f。:。python_obj。 =json。.。load。(。f。)。print。(。python_obj。)。

运行输出:
在这里插入图片描述