python中json、字典的区别以及相互转换方法

 更新时间:2023年11月02日 09:09:36   作者:一位代码  
在Python中我们经常会用到JSON格式的数据,而将JSON格式转化为Python的字典类型是一种常见的操作,这篇文章主要给大家介绍了关于python中json、字典的区别以及相互转换方法的相关资料,需要的朋友可以参考下

前言

json,是一种轻量级的数据交换格式,由JavaScript语言创建,广泛应用于网页数据交互,常见于爬虫和数据分析领域。

json格式简洁、结构清晰,存储格式为:键值对(key:value)

在python中,字典(dict)与json非常相似,都是键值对(key:value)形式。

一、 json与字典的区别

json与字典的区别,如下表:

json格式dict(字典,python)
一种数据格式,纯字符串。可以被解析成python的字典(dict)形式或其他形式。一种数据结构
key只能是字符串key可以是python中任意不可变数据:字符串、数值、元组等
key可以是有序、重复的key不能重复
字符串只能使用双引号字符串可以用单引号、双引号、三引号
任意key存在默认值undefined任意key没有默认值
json:true、false、null、stringdict:Ture、False、None、str
json中文是unicode编码,如,“\u6211”

二、json与字典相互转换

首先,创建一个字典(a_dict),作为举例。

a_dict = {'a': 1, "b": 'qw', '''c''': ['q', 'w'], 'd': '您好'}
print(type(a_dict))
print(a_dict)

(一)将字典转化为json格式数据

json.dumps():将python数据类型转换成json字符串,dict→json

语法:

json.dumps(obj,ensure_ascii=True,indent=None,encoding=“utf8”,sort_keys=False,separators=None…)

常用参数释义
ensure_ascii默认为True,中文编码为unicode;改成False,则可以输出中文汉字。
indent默认为None,参数根据格式缩进显示,表示缩进几个空格,接收int类型数值。
sort_keys默认为False,不按字典的key排序;改成True,按照字典的key排序
separators指定分隔符,默认为None;包含dict每个元素间分隔符(逗号“,”),key与value之间的分隔符(冒号“:”),指定分隔符后,原来的分隔符则直接去掉
encoding编码,默认utf-8

将字典a_dict,转换为json格式数据,代码如下:

# 将字典a_dict转换为json
import json
a_dict = {'a': 1, "b": 'qw', '''c''': ['q', 'w'], 'd': '您好'}
a_json = json.dumps(a_dict)
print(type(a_json))
print(a_json)

注:字典a_dict,转换为json数据a_json后,有以下几点变化:

(1)数据类型由字典dict变成str

(2)a_dict中的单引号、三单引号全部统一为双引号

(3)中文“您好”转换为unicode编码“\u60a8\u597d”。

如果想要正常显示中文,可以加入参数:ensure_ascii=False,代码变为:

# 将字典a_dict转换为json
import json
a_dict = {'a': 1, "b": 'qw', '''c''': ['q', 'w'], 'd': '您好'}
a_json = json.dumps(a_dict, ensure_ascii=False)
print(type(a_json))
print(a_json)

(4)如果数据很多,直接一排一排这样显示,很难看清结构。加入参数:indent=缩进空格数,可以美观清晰的输出,代码如:

import json

a_dict = {'a': 1, "b": 'qw', '''c''': ['q', 'w'], 'd': '您好'}
a_json = json.dumps(a_dict, ensure_ascii=False, indent=2)  # 缩进2个空格
print(type(a_json))
print(a_json)

(二)将json格式数据转换为字典

json.loads():将json字符串解析成python数据类型,json→dict

将a_json转换为字典格式数据,如下:

b_dict = json.loads(a_json)
print(type(b_dict))
print(b_dict)

以上就是python中,json与字典数据格式之间的区别,及相互转换方法,可供参考。

总结

到此这篇关于python中json、字典的区别以及相互转换方法的文章就介绍到这了,更多相关python json和字典相互转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在Pytorch中简单使用tensorboard

    在Pytorch中简单使用tensorboard

    今天给大家带来的是关于Python的相关知识,文章围绕着Pytorch使用tensorboard展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • python re模块常见用法例举

    python re模块常见用法例举

    在本篇文章里小编给大家整理的是一篇关于python re模块常见用法例举内容,有兴趣的朋友们可以学习下。
    2021-03-03
  • Python表格处理模块xlrd在Anaconda中的安装方法

    Python表格处理模块xlrd在Anaconda中的安装方法

    本文介绍在Anaconda环境下,安装Python读取.xls格式表格文件的库xlrd的方法,xlrd是一个用于读取Excel文件的Python库,本文介绍了xlrd库的一些主要特点和功能,感兴趣的朋友一起看看吧
    2024-04-04
  • python3实现UDP协议的服务器和客户端

    python3实现UDP协议的服务器和客户端

    这篇文章主要为大家详细介绍了python3实现UDP协议的服务器和客户端,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Python内存管理与泄漏排查实战分享

    Python内存管理与泄漏排查实战分享

    这篇文章主要介绍了Python内存管理与泄漏排查实战,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • python实现将一维列表转换为多维列表(numpy+reshape)

    python实现将一维列表转换为多维列表(numpy+reshape)

    今天小编就为大家分享一篇python实现将一维列表转换为多维列表(numpy+reshape),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Python基于回溯法子集树模板解决选排问题示例

    Python基于回溯法子集树模板解决选排问题示例

    这篇文章主要介绍了Python基于回溯法子集树模板解决选排问题,简单描述了选排问题并结合实例形式分析了Python使用回溯法子集树模板解决选排问题的具体实现步骤与相关操作注意事项,需要的朋友可以参考下
    2017-09-09
  • Pandas 如何处理DataFrame中的inf值

    Pandas 如何处理DataFrame中的inf值

    这篇文章主要介绍了Pandas 如何处理DataFrame中的inf值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • python计算机视觉实现全景图像拼接示例

    python计算机视觉实现全景图像拼接示例

    这篇文章主要为大家介绍了python计算机视觉实现全景图像拼接示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python自动化办公之编写PDF拆分工具

    Python自动化办公之编写PDF拆分工具

    这篇文章主要为大家分享一个Python自动化办公的小工具——PDF拆分工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试
    2022-03-03

最新评论