python的json模块介绍

时间:2022-09-05 09:33:32

转载:https://blog.csdn.net/xsj_blog/article/details/51921664

对于数据传递方面,XML是一种选择,还有一种选择是JSON,它是一种轻量级的数据交换格式.在json的编码过程中,会存在从python原始类型向json类型的转化过程,具体的转化对照如下:

python的json模块介绍

python标准库中的json模块主要执行序列化和反序列化的功能:

  • 序列化 dumps() :encoding,把一个python队形编码转化成JSON字符串
  • 反序列化 loads() :decoding,把JSON格式字符串解码转换为python数据对象,即为字典对象

注意 :JSON在python中分别由list和dict组成.

dumps()

dumps函数的功能:转换为字符串的格式,序列化

语法格式:

dumps(data, sort_keys = True, indent = 2)

sort_keys = True 是按照键的字典顺序排序.

indent = 2是让每个键/值对显示的时候,以缩进两个字符对齐.

import json
data = [{"name":"xiaoxu","lang":("python","english"),"age":40}]
data_json_1 = json.dumps(data)
print(data_json_1)
# =============================================================================
#
# [{"name": "xiaoxu", "lang": ["python", "english"], "age": 40}]
#
# =============================================================================
data_json_2 = json.dumps(data,sort_keys = True,indent =2)
print(data_json_2)
# =============================================================================
# [
# {
# "age": 40,
# "lang": [
# "python",
# "english"
# ],
# "name": "xiaoxu"
# }
# ]
# =============================================================================

loads()

loads 函数的功能:转换为字典的格式,反序列化

new_data = json.loads(data_json_2)
print(new_data)
# =============================================================================
# [{'age': 40, 'lang': ['python', 'english'], 'name': 'xiaoxu'}]
# =============================================================================