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;大数据…

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;加入【云计算学习…

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…

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

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

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

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

Cloud一分钟 | 苹果更新“隐私页面”;中国联通大数据正式升级,进入数智新阶段...

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

“双十一”即将来临,先来看看快递物流企业的大数据

继中通、韵达后&#xff0c;圆通速递于日前宣布涨价。据悉&#xff0c;圆通速递将对全国各网点到达上海地区的快件派送费上调&#xff0c;上调幅度为0.5元/票。双十一临近&#xff0c;快递企业接连涨价&#xff0c;行业或将迎来集体涨价潮。据圆通速递称&#xff0c;此次调价行…

Python str / bytes / unicode 区别详解 - Python零基础入门教程

目录 一.前言二.Python str / bytes / unicode 区别 1.Python2.x 版本中 str / bytes / unicode 区别2.Python3.x 版本中 str / bytes / unicode 区别 三.Python string 与 bytes 相互转换 1.string 经过编码 encode 转化成 bytes2. bytes 经过解码 decode 转化成 string 四.猜…

ip服务器ip地址信息配置,服务器ip地址配置

服务器ip地址配置 内容精选换一换当创建文件系统后&#xff0c;您需要将文件系统挂载至云服务器上&#xff0c;在为root用户创建一个本地目录。如已成功挂载文件系统&#xff0c;可跳过此章节。请记录步骤4的本地目录后&#xff0c;按照为每个用户创建有读写权限的子目录执行操…

干货 | 18个Python爬虫实战案例(已开源)

目录爬虫小工具文件下载小助手爬虫实战笔趣看小说下载VIP视频下载百度文库文章下载_rev1百度文库文章下载_rev2《帅啊》网帅哥图片下载构建代理IP池《火影忍者》漫画下载财务报表下载小助手一小时入门网络爬虫抖音App视频下载_rev1抖音App视频下载_rev2抖音App视频下载_rev3GEE…