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())#和上面的效果一样
六.猜你喜欢
- Python 配置环境
- Python 变量
- Python 运算符
- Python 条件判断 if/else
- Python while 循环
- Python break
- Python continue
- Python for 循环
- Python 字符串
- Python 列表 list
- Python 元组 tuple
- Python 字典 dict
- Python 条件推导式
- Python 列表推导式
- Python 字典推导式
未经允许不得转载:猿说编程 » Python json 模块
Python json模块 - Python零基础入门教程相关推荐
- Python return逻辑判断表达式 - 零基础入门教程
目录 一.return 逻辑判断表达式 and 二.return 逻辑判断表达式 or 三.return 逻辑判断表达式 and 和 or 配合使用 四.return 逻辑判断表达式重点总结 五.猜你 ...
- 视频教程-Python零基础入门教程-Python
Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...
- python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)
一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...
- Python零基础入门教程( 快速入门)
前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...
- Python 3.X 完全零基础入门精讲 全套视频教程
简介 零基础小白快速学程序员大爱语言――Python,易学易用易就业!!! 目标人群:熟悉电脑基本操作,编程零基础或已具备Python或其它编程语言的人群. 课程目标:绝对零基础Python3.x 入 ...
- python是什么软件-零基础入门Python怎么学习?老男孩python用什么软件
在培训学习Python时,怎么才能学好Python?随着Python技术的发展,越来越多的人开始学习Python编程语言,那么零基础入门Python该怎么学习? 1.要养成良好的代码编写习惯,注重细节 ...
- 视频教程-ARDUINO零基础入门教程【代码编程篇】-Arduino
ARDUINO零基础入门教程[代码编程篇] 精通各种单片机编程,有十年以上ARDUINO,51单片机/STM32/PIC/AVR编程,硬件设计,绘图,编程经验.熟悉各种常用传感器使用和物联网通讯 赵勇 ...
- SEO零基础入门教程(外链的发布和软文编写)
seo的作用是众所周知的,对网站进行seo优化,可以给网站带来大量的搜索引擎流量.但是想要做好网站优化也有难度,尤其是对于seo新手来说,因为缺乏理论和实战,所以seo新手需要多加练习.那么具体seo ...
- 九宫怎么排列和使用_剪映零基础入门教程第三十七篇:一学就会系列之九宫格小程序配音...
很多玩儿抖音的朋友都看过九宫格视频,但是并不是每个玩抖音的人都会制作这个九宫格视频,实际这个需要借助小工具来帮忙,而常用抖音的朋友们会对剪映更加熟悉一些,且九宫格视频在剪映内的制作方式则比较简单.那么 ...
- 计算机pscs6教程,photoshop CS6零基础入门教程
<photoshop CS6零基础入门教程>针对零基础学员开设,以教案和实际操作演示相结合的方式,详细地介绍adobe photoshop cs6的各项工具和命令.由浅入深.循序渐进地全面 ...
最新文章
- C/C++ struct 区别
- java调用gbase存储过程,GBase 8T数据库存储过程使用出参示例
- DotNetty 实现 Modbus TCP 系列 (三) Codecs Handler
- VistaDB 数据库,.NET的新选择
- 软件或jar包等名字里的GA意思
- linux shell脚本备份mysql数据库
- 学习 TList 类的实现[1]
- Hilbert 变换
- mybatisplus自动生成id_【mybatis-plus】主键id生成、字段自动填充
- Android 12之启动画面Splash Screens(一) -- 适配
- 磁性能测试标准和项目有哪些
- html磁贴模板,文本磁贴模板(列表文件夹)(HTML)
- 如何用python制作动画电影_动画电影是如何制作的?
- 车载终端794认证,905认证
- Markdown——入门指南
- [转载From少数派] 码字必备:18 款优秀的 Markdown 写作工具 | 2015 年度盘点
- 4只鸭子在同一个圆圈内游泳,问:4只鸭子出现在同一个半圆内的概率是多少?Python解答
- 极米RS Pro 2值得买吗?极米科技这款4K投影真实体验怎么样?
- vue-element-admin@4.2.1 dev: `vue-cli-service serve`
- 采用粒子群优化算法实现投资组合优化【Matlab实现】
热门文章
- 从KPI到OKR,高阶产品人如何推动业务高速增长
- 争议“云游戏”:一个几十亿规模的颠覆者?一场徐虎飘渺的幻梦
- 深度学习在商户挂牌语义理解的实践
- Perseus-BERT——业内性能极致优化的BERT训练方案【阿里云弹性人工智能】
- 广州云栖大会:阿里云携手虎牙,首次落地直播行业边缘节点及云企业网服务
- 《TableStore最佳实践:GEO索引打造店铺搜索系统》
- 读懂这篇文章,你的阿里技术面就可以过关了 | Apache RocketMQ 101
- 华为开发者大会上,鸿蒙问世、方舟编译器开源、还有 EMUI 10;壕置100万美元,苹果推出漏洞攻击报告赏金计划……...
- Gartner预测2019年全球IT支出将达到3.8万亿美元
- ServiceComb中的数据最终一致性方案