Python json模块 - Python零基础入门教程

目录

  • 一.前言
  • 二.python json 模块常用函数
  • 三.json 转 Python 字典 dict
  • 四.Python 字典 dict 转 json
  • 五.关于 json.dump 和 json.load
  • 六.猜你喜欢

零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门

一.前言

JSON 的全称是 JavaScript Object Notation,即 JavaScript 对象符号,它是一种轻量级、跨平台、跨语言的数据交换格式,其设计意图是把所有事情都用设计的字符串来表示,这样既方便在互联网上传递信息,也方便人进行阅读。

JSON 主要在类似于 C 的编程语言中广泛使用,这些语言包括 C、C++、C#、Java、JavaScript、Perl、Python 等。JSON 提供了多种语言之间完成数据交换的能力,因此,JSON 也是一种非常理想的数据交换格式。

二.python json 模块常用函数

json 模块提供了对 JSON 的支持,它既包含了将 JSON 字符串恢复成 Python 对象的函数,也提供了将 Python 对象转换成 JSON 字符串的函数。

  • json.dumps — 对数据进行编码,形成 json 格式的数据;
  • json.loads — 将 json 格式的数据解码,转换为 Python 字典 dict ;

三.json 转 Python 字典 dict

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python json模块.py
@Time:2021/04/01 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""import jsondata_str = '{"url": "www.shuopython.com", "name": "猿说python", "contents": "python教程"}'
data_dict = json.loads(data_str)
print(data_dict)
print(type(data_dict))'''
输出结果:
{'url': 'www.shuopython.com', 'name': '猿说python', 'contents': 'python教程'}
<class 'dict'>
'''

注意:data_str 是 json 字符串,并非字典 dict 也并非字符串 string;

四.Python 字典 dict 转 json

在使用 dump / dumps 时可能会使用到以下参数:

  • skipkey:默认为 False,当 dict 对象里的数据不是 Python 的基本数据类型;(str,unicode,int,long,float,bool,None)时,当 skipkey 为 False,就会报错,如果 skipkey 为 True ,则可以跳过这类 key ;

  • indent:如果填 0 或者不填,则按照一行进行打印,否则按照 indent 的数值显示前面的空格(正整数形式);

  • separators:分隔符,默认为“(‘,’,’:’)”,它表示 key 之间用“,”隔开,key 和 value 之间用“:”隔开;

  • encoding:编码格式,默认值是 UTF-8;

  • sort_keys:对 key、value 进行排序,默认值是 False ,即不排序;

  • ensure_ascii:默认为 True,如果 dict 对象里含有 none-ASCII 的字符,则显示\uXX 的格式,如果为 False,则能正常显示出来(解决中文乱码问题);

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python json模块.py
@Time:2021/04/01 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""import jsondata_dict = {"url": "www.shuopython.com", "name": "猿说python", "contents": "python教程"}# ensure_ascii 默认为True,如果有中文,显示\uXX的格式;设置为False可解决中文显示不正常问题
json1 = json.dumps(data_dict, ensure_ascii=False,indent=4) # indent 字符缩进,输出更加美观
print(json1)
print(type(json1))'''
输出结果:
{"url": "www.shuopython.com","name": "猿说python","contents": "python教程"
}
<class 'str'>
'''

五.关于 json.dump 和 json.load

相对于上面所讲的 dumps 和 loads 来说,dump 和 load 函数的功能类似,只不过前者是用来处理字符串类型的,而后者是用于处理文件类型的,如下所示:

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python json模块.py
@Time:2021/04/01 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""import jsondata = {'str3':'xyz','str2' :'efgh','str1':'abcd'}
with open(' data. txt', '', encoding='utf-8') as f:json.dump(data, f, indent=4)   # f. write (json.dumps (data, indent=4))  #和上面的效果一样with open(' data. txt', 'r') as f:d2 = json.load(f)  #d2 = json.loads (f. read())#和上面的效果一样

六.猜你喜欢

  1. Python 配置环境
  2. Python 变量
  3. Python 运算符
  4. Python 条件判断 if/else
  5. Python while 循环
  6. Python break
  7. Python continue
  8. Python for 循环
  9. Python 字符串
  10. Python 列表 list
  11. Python 元组 tuple
  12. Python 字典 dict
  13. Python 条件推导式
  14. Python 列表推导式
  15. Python 字典推导式

未经允许不得转载:猿说编程 » Python json 模块

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525403.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cloud一分钟 | 英国发布大规模遗传数据;德国电信与华为联合发布PLAS云连接服务...

Hello&#xff0c;everyone&#xff1a;10月15日早&#xff0c;星期一&#xff0c;祝大家工作愉快&#xff01;一分钟新闻时间&#xff1a;★ 百度云与智慧农业的头部企业强强联合&#xff0c;共建ABC智能农业生态。★ 德国电信与华为联合发布PLAS云连接服务。★ 英国发布大规模…

“汉堡+奶昔”怎么就成了精致生活的热门标签?

图片来源&#xff1a;视觉中国文章来源&#xff1a;DT财经“左手汉堡&#xff0c;右手奶昔&#xff0c;这是新天地Coco的时髦新日常。最近沪上刮起一阵打卡新风潮&#xff0c;汉堡竟然成了标记城市美好生活的一大利器。还在纠结晚餐去金拱门还是汉堡王的DT君&#xff0c;发现自…

揭开互联网公司的神秘面纱,数据解读那些slay整个行业的互联网公司

前言&#xff1a;随着互联网行业的日益兴盛&#xff0c;吸引力越来越多的牛人加入其中&#xff0c;也有许多小伙伴跃跃欲试&#xff0c;想要在互联网的浪潮中大展身手。今天我们通过看准网的数据&#xff0c;帮助大家对各大互联网公司有一个比较概括的了解。01.数据来源看准网提…

Cloud一分钟 | Gartner发布2018年第二季度全球服务器市场报告;中信银行联合腾讯云推出手机银行智能语音产品...

Hello&#xff0c;everyone&#xff1a;10月16日早&#xff0c;星期二&#xff0c;祝大家工作愉快&#xff01;一分钟新闻时间&#xff1a;完1.微信群&#xff1a;添加小编微信&#xff1a;tangguoyemeng&#xff0c;备注“进群姓名公司职位”即可&#xff0c;加入【云计算学习…

Cloud一分钟 | 华为云发布云数据安全白皮书;OPPO携手阿里云举行天池OGeek算法挑战赛...

Hello&#xff0c;everyone&#xff1a;10月17日早&#xff0c;星期三&#xff0c;祝大家工作愉快&#xff01;一分钟新闻时间&#xff1a;完1.微信群&#xff1a;添加小编微信&#xff1a;tangguoyemeng&#xff0c;备注“进群姓名公司职位”即可&#xff0c;加入【云计算学习…

关于这道填空题,你会如何回答?(附带学习链接)

曾经有一篇百万阅读量的爆文&#xff0c;里面出了道填空题&#xff0c;问&#xff1a;____是铜牌&#xff0c;____是银牌&#xff0c;____是金牌&#xff0c;____是王牌。小白的答案是&#xff1a;Java是铜牌&#xff0c;Linux是银牌&#xff0c;Hadoop是金牌&#xff0c;大数据…

riak文件服务器,Docker中文文档

这个例子的目的是向您展示如何构建一个预装Riak的docker镜象。创建Dockerfile创建一个空文件Dockerfile$ touch Dockerfile接下来&#xff0c;定义你想要来建立你镜像的父镜像。我们将使用Ubuntu(tag&#xff1a;最新版)&#xff0c;从Docker Hub中下载&#xff1a;# Riak## VE…

BugkuCTF-Crypto题affine

题目描述&#xff1a; 这题考的是仿射密码&#xff0c;了解一下仿射密码 仿射密码为一类替换密码。它是一个字母对一个字母的。它的加密函数为 其a和m互质&#xff0c;m为字母的数目。 解码函数为 其a^-1为a在Zm群的乘法逆元 乘法逆元&#xff1a; 所有与26互素元素的乘法…

Python set集合 - Python零基础入门教程

目录 一.set 集合简介二.set 集合常用函数三.set 集合运算符四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python 变量中除了以前文章所提到的整形 int / 浮点数 float / 布尔值 bool / 列表 list / 字典 dict 之外&#xff0c;还有…

Cloud一分钟 | 华为云、腾讯云、阿里云中标「央视2018年租赁公有云服务」项目...

Hello&#xff0c;everyone&#xff1a;10月18日早&#xff0c;星期四&#xff0c;祝大家工作愉快&#xff01;一分钟新闻时间&#xff1a;完1.微信群&#xff1a;添加小编微信&#xff1a;tangguoyemeng&#xff0c;备注“进群姓名公司职位”即可&#xff0c;加入【云计算学习…

Python frozenset 集合 - Python零基础入门教程

目录 一.Python frozenset 集合语法二.Python frozenset 集合使用三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在前一篇文章中我们对 Python set 集合 做了详细的讲解&#xff0c;而本文讲解的 frozenset 集合 其实和 set 集合类似&a…

Cloud一分钟 | 华云数据中标上药控股私有云千万级项目; 总投资90亿元的中国移动厦门数据中心,一期电源工程项目候选人公示...

Hello&#xff0c;everyone&#xff1a;10月19日早&#xff0c;星期五&#xff0c;祝大家工作愉快&#xff01;一分钟新闻时间&#xff1a;完1.微信群&#xff1a;添加小编微信&#xff1a;tangguoyemeng&#xff0c;备注“进群姓名公司职位”即可&#xff0c;加入【云计算学习…

Python set list dict tuple 区别和相互转换 - Python零基础入门教程

目录 一.前言二.Python set list dict tuple 区别三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.前言 Python 提供多种数据类型来存放数据项集合&#xff0c;主要包括序列&#xff08;列表 list 和元组 tuple&#xff09;&#xff…

2023RT-Thread开发者大会

参加了一次RT-Thread的开发者大会&#xff0c;相当有意思&#xff0c;虽然一天奔波挺累&#xff0c;但睡了半天之后简单剪了下22号的视频&#xff0c;也就有时间写自己的参会笔记了。 与openEuler社区不同&#xff0c;RT-Thread社区更专注于嵌入式&#xff0c;与硬件厂商结合较…

企业大咖教你解决Kubernetes的挑战

Kubernetes&#xff08;K8s&#xff09;是自动化容器操作的开源平台&#xff0c;这些操作包括部署&#xff0c;调度和节点集群间扩展。如果你曾经用过Docker容器技术部署容器&#xff0c;那么可以将Docker看成Kubernetes内部使用的低级别组件。Kubernetes还可以提供容器弹性&am…

Python eval 与 exec 函数 - Python零基础入门教程

目录 一.前言二.Python eval 与 exec 函数简介三.Python eval 与 exec 函数使用 1.exec 函数执行代码段2.exec 函数执行 py 文件 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.前言 Python 内置函数 execfile 和 内置函数 exec 功…

Android 之父裁员 30%:开发者如何避免“被离职”?

近几个月来&#xff0c;Google 和 Android 都不太太平。从 7 月 Google 被欧盟处以 50 亿美元的反垄断罚款&#xff0c;到引起恐慌的 Android 碎片化漏洞&#xff0c;再到 Android 的许可政策遭遇更改......而现在&#xff0c;由 Android 之父一手创立的初创公司也惨遭“滑铁卢…

Python eval 与 exec 函数区别 - Python零基础入门教程

目录 一.Python eval 与 exec 函数的区别二.价值 10 个亿的智能机器人核心代码三.猜你喜欢 基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.Python eval 与 exec 函数的区别 eval 和 exec 都是 Python 内置函数&#xff0c;并且都能执行 Python 代…

面趣 | 据说这道烧脑的微软面试题很奇葩,你来试试?

参加 2018 AI开发者大会&#xff0c;请点击 ↑↑↑问面试题目&#xff1a;昨天&#xff0c;我早上8点爬山&#xff0c;晚上8点到山顶。睡了一觉后&#xff0c;今天&#xff0c;我早上8点从山顶原路下山&#xff0c;晚上8点到山脚。请问&#xff0c;有没有一个时刻&#xff0c;昨…

Python bytearray/bytes/string区别 - Python零基础入门教程

目录 一.字节与字符的区别 1.字节概念2.字符概念3.字符串概念4.字节串概念 二.str / bytes / bytearray 区别三.string 与 bytes / bytearray 相互转换 1.string 经过编码 encode 转化成 bytes2.bytes 经过解码 decode 转化成 string 四.猜你喜欢 零基础 Python 学习路线推荐 …