目录

  • 一.前言
  • 二.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 模块

Python json模块 - Python零基础入门教程相关推荐

  1. Python return逻辑判断表达式 - 零基础入门教程

    目录 一.return 逻辑判断表达式 and 二.return 逻辑判断表达式 or 三.return 逻辑判断表达式 and 和 or 配合使用 四.return 逻辑判断表达式重点总结 五.猜你 ...

  2. 视频教程-Python零基础入门教程-Python

    Python零基础入门教程 从2012年从事互联网至今有7年软件编程经验,曾任职国内北京互联网公司,中南林业大学授课Python 现任逻辑教育Python课程负责人,精通Python语言,精通人工智能 ...

  3. python怎么输出浮点数_python 零基础入门教程第 2 章:基本数据类型 (一)

    一.什么是数据类型 编程语言通过一些复杂的计算机物理底层机制,创造不同类型的数据,用来表示现实世界中的不同信息,以便于计算机更好的存储和计算. 每种编程语言都会有一些基本的数据类型用来表示现实世界中的 ...

  4. Python零基础入门教程( 快速入门)

    前言 学无止境,无止境学. 今天要给大家分享的是<Python零基础入门教程01 快速入门>,这是一个系列的教程,从零基础到项目实战.在本教程中,我会给大家介绍Python入门的一些基础知 ...

  5. Python 3.X 完全零基础入门精讲 全套视频教程

    简介 零基础小白快速学程序员大爱语言――Python,易学易用易就业!!! 目标人群:熟悉电脑基本操作,编程零基础或已具备Python或其它编程语言的人群. 课程目标:绝对零基础Python3.x 入 ...

  6. python是什么软件-零基础入门Python怎么学习?老男孩python用什么软件

    在培训学习Python时,怎么才能学好Python?随着Python技术的发展,越来越多的人开始学习Python编程语言,那么零基础入门Python该怎么学习? 1.要养成良好的代码编写习惯,注重细节 ...

  7. 视频教程-ARDUINO零基础入门教程【代码编程篇】-Arduino

    ARDUINO零基础入门教程[代码编程篇] 精通各种单片机编程,有十年以上ARDUINO,51单片机/STM32/PIC/AVR编程,硬件设计,绘图,编程经验.熟悉各种常用传感器使用和物联网通讯 赵勇 ...

  8. SEO零基础入门教程(外链的发布和软文编写)

    seo的作用是众所周知的,对网站进行seo优化,可以给网站带来大量的搜索引擎流量.但是想要做好网站优化也有难度,尤其是对于seo新手来说,因为缺乏理论和实战,所以seo新手需要多加练习.那么具体seo ...

  9. 九宫怎么排列和使用_剪映零基础入门教程第三十七篇:一学就会系列之九宫格小程序配音...

    很多玩儿抖音的朋友都看过九宫格视频,但是并不是每个玩抖音的人都会制作这个九宫格视频,实际这个需要借助小工具来帮忙,而常用抖音的朋友们会对剪映更加熟悉一些,且九宫格视频在剪映内的制作方式则比较简单.那么 ...

  10. 计算机pscs6教程,photoshop CS6零基础入门教程

    <photoshop CS6零基础入门教程>针对零基础学员开设,以教案和实际操作演示相结合的方式,详细地介绍adobe photoshop cs6的各项工具和命令.由浅入深.循序渐进地全面 ...

最新文章

  1. C/C++ struct 区别
  2. java调用gbase存储过程,GBase 8T数据库存储过程使用出参示例
  3. DotNetty 实现 Modbus TCP 系列 (三) Codecs Handler
  4. VistaDB 数据库,.NET的新选择
  5. 软件或jar包等名字里的GA意思
  6. linux shell脚本备份mysql数据库
  7. 学习 TList 类的实现[1]
  8. Hilbert 变换
  9. mybatisplus自动生成id_【mybatis-plus】主键id生成、字段自动填充
  10. Android 12之启动画面Splash Screens(一) -- 适配
  11. 磁性能测试标准和项目有哪些
  12. html磁贴模板,文本磁贴模板(列表文件夹)(HTML)
  13. 如何用python制作动画电影_动画电影是如何制作的?
  14. 车载终端794认证,905认证
  15. Markdown——入门指南
  16. [转载From少数派] 码字必备:18 款优秀的 Markdown 写作工具 | 2015 年度盘点
  17. 4只鸭子在同一个圆圈内游泳,问:4只鸭子出现在同一个半圆内的概率是多少?Python解答
  18. 极米RS Pro 2值得买吗?极米科技这款4K投影真实体验怎么样?
  19. vue-element-admin@4.2.1 dev: `vue-cli-service serve`
  20. 采用粒子群优化算法实现投资组合优化【Matlab实现】

热门文章

  1. 从KPI到OKR,高阶产品人如何推动业务高速增长
  2. 争议“云游戏”:一个几十亿规模的颠覆者?一场徐虎飘渺的幻梦
  3. 深度学习在商户挂牌语义理解的实践
  4. Perseus-BERT——业内性能极致优化的BERT训练方案【阿里云弹性人工智能】
  5. 广州云栖大会:阿里云携手虎牙,首次落地直播行业边缘节点及云企业网服务
  6. 《TableStore最佳实践:GEO索引打造店铺搜索系统》
  7. 读懂这篇文章,你的阿里技术面就可以过关了 | Apache RocketMQ 101
  8. 华为开发者大会上,鸿蒙问世、方舟编译器开源、还有 EMUI 10;壕置100万美元,苹果推出漏洞攻击报告赏金计划……...
  9. Gartner预测2019年全球IT支出将达到3.8万亿美元
  10. ServiceComb中的数据最终一致性方案