python字典与json转换的方法总结

1. 简介

Python中,字典和json是两种常用的数据结构。字典即为Python自带的一种无序的键值对数据集合,可以用来存储丰富的数据类型,如数字、字符串、列表和其他字典。而JSON(JavaScript Object Notation)则是一种轻量级的数据交换格式,其规定了一种简洁的表示方法,用于存储和传输数据。

2. 字典转json

2.1. 使用json模块

Python内置的json模块提供了很方便的字典转json的方法,可以使用dumps函数将字典转换为json字符串,该函数有几个参数:

dic:需要转换的字典

skipkeys:是否跳过不可序列化的键,默认为False

ensure_ascii:是否按ASCII编码输出,默认为True

indent:输出格式化的缩进空格数,如indent=4将会按照缩进4个空格格式化输出,默认为None

separators:为不同类型的输入分隔符,默认为(',', ':')

示例代码如下:

import json

# 定义一个字典

dic = {

'name': 'Alex',

'age': 25,

'hobby': ['swimming', 'reading'],

'contact': {

'email': 'alex@example.com',

'phone': '1234567890'

}

}

# 转换为json字符串

json_str = json.dumps(dic, indent=4, ensure_ascii=False)

# 输出json字符串

print(json_str)

该段代码输出的结果如下:

{

"name": "Alex",

"age": 25,

"hobby": [

"swimming",

"reading"

],

"contact": {

"email": "alex@example.com",

"phone": "1234567890"

}

}

可以看到,字典中的键值对已经按照json格式输出了。

2.2. 使用简单json模块

除了Python内置的json模块外,还有一种名为简单json的第三方模块,需要通过pip安装。它提供了与json模块相同的功能,但封装更简单。

使用方式如下:

import simplejson as json

# 定义一个字典

dic = {

'name': 'Alex',

'age': 25,

'hobby': ['swimming', 'reading'],

'contact': {

'email': 'alex@example.com',

'phone': '1234567890'

}

}

# 转换为json字符串

json_str = json.dumps(dic, indent=4, ensure_ascii=False)

# 输出json字符串

print(json_str)

该段代码的输出与前面的代码相同。

3. json转字典

3.1. 使用json模块

与字典转json类似,Python的json模块也提供了json字符串转字典的方法,可以使用loads函数将json字符串转换为字典,该函数只接收一个参数——json字符串。

示例代码如下:

import json

# 定义一个json字符串

json_str = '{"name": "Alex", "age": 25, "hobby": ["swimming", "reading"], "contact": {"email": "alex@example.com", "phone": "1234567890"}}'

# 转换为字典

dic = json.loads(json_str)

# 输出字典

print(dic)

输出结果如下:

{'name': 'Alex', 'age': 25, 'hobby': ['swimming', 'reading'], 'contact': {'email': 'alex@example.com', 'phone': '1234567890'}}

3.2. 使用简单json模块

简单json模块也可以实现将json字符串转换为字典的功能,使用方式基本与json模块相同。

示例代码如下:

import simplejson as json

# 定义一个json字符串

json_str = '{"name": "Alex", "age": 25, "hobby": ["swimming", "reading"], "contact": {"email": "alex@example.com", "phone": "1234567890"}}'

# 转换为字典

dic = json.loads(json_str)

# 输出字典

print(dic)

该段代码的输出与前面的代码输出结果相同。

4. 小结

本文主要总结了Python中字典与json之间的转换方法。字典可以使用内置的json模块或者第三方模块简单json实现转换。json字符串转字典同样适用这两个模块,只是函数名称不同。熟练运用这些方法,可以方便地处理字典和json数据。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签