简单 Python 快乐之旅之:Python 基础语法之 JSON 专题
文章目录
- 1. 解析 JSON 字符串示例
- 1.1. 解析 JSON 字符串为 Python 字典
- 1.2. 解析 JSON 字符串为 Python 列表
- 2. 如何将 Python 类对象转化为 JSON 字符串?
- 2.1. 转换 Python 类对象为 JSON 字符串
- 2.2. 将 Python 类对象的属性转化为 JSON 字符串
- 3. Python 元组转换为 JSON 数组
- 3.1. 转换 Python 元组为 JSON 字符串
- 3.2. 转换装有不同数据类型元素的元组为 JSON 字符串
- 参考资料
1. 解析 JSON 字符串示例
要将 JSON 字符串解析为一个 Python 对象,你可以使用 Python 内建 json 库。json 包里的 loads() 函数用于解析 JSON 串。
import json
pythonObj = json.loads(jsonStr)
其中,jsonStr 是一个包含 JSON 数据的字符串,而 json.loads() 将返回一个 Python 对象。基于 JSON 字符串的数据结构,返回 Python 对象的数据类型将为列表或字典。
1.1. 解析 JSON 字符串为 Python 字典
接下来我们创建一个包含 JSON 数据的字符串,然后使用 json.loads() 函数来对其进行解析。
# Parse JSON String to Python Dictionary
import json
jsonstr = '{"name":"Tesla", "age":2, "city":"New York"}'
pythonOjb = json.loads(jsonstr)
print(type(pythonOjb))
print(pythonOjb)
name = pythonOjb["name"]
print(name)
执行和输出:
本示例中的 JSON 字符串是一个内含多个键值对的单一元素。因此 loads() 函数对该 JSON 字符串解析得到的数据类型是为字典。
1.2. 解析 JSON 字符串为 Python 列表
接下来我们来看另一种内含多个键值对的一组元素的 JSON 字符串,我们同样使用 json.loads() 函数对其进行解析。
# Parse JSON String to Python List
import json
jsonStr = '[{"name":"Tesla", "age":2, "city":"New York"}, {"name":"Jim", "age":3, "city":"Boston"}]'
pythonObj = json.loads(jsonStr)
print(type(pythonObj))
print(pythonObj)
print(type(pythonObj[0]))
print(pythonObj[0])
city = pythonObj[1]["city"]
print(city)
执行和输出:
本示例中的 JSON 字符串包含有多组元素。因此由 loads() 函数解析返回的数据类型是一个列表,而该列表中元素的数据类型是为字典。
2. 如何将 Python 类对象转化为 JSON 字符串?
要将一个 Python 类对象转化为 JSON 字符串,或者将类对象的属性保存为 JSON 字符串,使用 json.dumps() 方法。
jsonStr = json.dumps(myobject.__dict__)
其中,
- json 是模块名。
- dumps 是讲 Python 对象转换为 JSON 字符串的方法。她将返回一个 JSON 字符串。
- myobject 是 Python 类对象,myobject.dict 用于 拿到对象属性的字典版本。
2.1. 转换 Python 类对象为 JSON 字符串
在接下来的示例中,我们定义了一个 Python 类,然后创建了一个该类的对象,最后将其属性转化为一个 JSON 字符串。
# Convert Python Class Object to JSON string
import json
class Laptop:name = 'My Laptop'processor = 'Intel Core'
laptop1 = Laptop()
laptop1.name = 'Dell Alienware'
laptop1.processor = 'Intel Core i7'
jsonStr = json.dumps(laptop1.__dict__)
print(jsonStr)
执行和输出:
可以看到,属性名都被转换成了 JSON 的键而属性值则被转换成了 JSON 的值。
2.2. 将 Python 类对象的属性转化为 JSON 字符串
在以下示例中,我们定义了一个拥有不同数据类型如字符串、整型浮点型属性的 Python 类,然后创建了一个该类的对象,然后将该类的对象的属性转换为 JSON 串。
# Convert Properties of Python Class Object to JSON string
import json
class Laptop:def __init__(self, name, processor, hdd, ram, cost):self.name = nameself.processor = processorself.hdd = hddself.ram = ramself.cost = cost
laptop1 = Laptop('Dell Alienware', 'Intel Core i7', 512, 8, 2500.00)
jsonStr = json.dumps(laptop1.__dict__)
print(jsonStr)
执行和输出:
3. Python 元组转换为 JSON 数组
要将 Python 元组转换为 JSON 数组,将元组作为方法的参数传给 json.dumps() 方法。
jsonStr = json.dumps(mytuple)
3.1. 转换 Python 元组为 JSON 字符串
在接下来的示例中,我们创建了一个元组并将其转换为一个 JSON 字符串。
# Convert Python Tuple to JSON String
import json
mytupe = ("python", "json", "mysql")
jsonStr = json.dumps(mytupe)
print(jsonStr)
执行和输出:
3.2. 转换装有不同数据类型元素的元组为 JSON 字符串
接下来我们创建一个由不同数据类型元素组成的元组,然后将其转换为一个 JSON 字符串。之后,我们对该 JSON 串进行解析并访问其元素。
# Convert Python Tuple with Different Datatypes to JSON String
import json
mytupe = ("python", "json", 22, 23.04)
jsonStr = json.dumps(mytupe)
print(type(jsonStr))
print(jsonStr)
jsonArr = json.loads(jsonStr)
print(type(jsonArr))
print(jsonArr[2])
执行和输出:
参考资料
- Python – Parse JSON String
- Convert Python Class Object to Python
- Convert Python Tuple to JSON Array
简单 Python 快乐之旅之:Python 基础语法之 JSON 专题相关推荐
- 小猪的Python学习之旅 —— 17.Python数据分析:我主良缘交友了解下
小猪的Python学习之旅 -- 17.Python数据分析:我主良缘交友了解下 标签:Python 一句话概括本文: 爬取我主良缘交友所有的妹子信息,利用Jupyter Notebook对五个方面: ...
- 小猪的Python学习之旅 —— 19.Python微信自动好友验证,自动回复,发送群聊链接
小猪的Python学习之旅 -- 19.Python微信自动好友验证,自动回复,发送群聊链接 标签:Python 一句话概括本文: 上一节利用itchat这个库,做了小宇宙早报的监测与转发, 本节新增 ...
- 小猪的Python学习之旅 —— 18.Python微信转发小宇宙早报
小猪的Python学习之旅 -- 18.Python微信转发小宇宙早报 标签:Python 一句话概括本文: 利用itchat,监控特定信息,转发到特定微信群- 引言: 上一篇 小猪的Python学习 ...
- python快速入门【一】-----基础语法
python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...
- 简单 Python 快乐之旅之:Python 基础语法之文件操作专题
文章目录 1. 读取文本文件 1.1. 读取文本文件里的个别字符 1.2. 以文本模式读取文件 2. 向文本文件写入字符串 2.1. 将字符串写入文本文件 2.2. 在文本模式下将字符串写入文本文件 ...
- python repl_Python自学第二天 REPL+基础语法
一.什么是REPL? 其实REPL就是一种概念,让我们来看一个简单的例子: image.png 当我们 win+R 进入 dos 环境后,输入python 光标会进入等待输入状态,即光标不停闪动,且前 ...
- 【Python学习笔记】3. Python3 基础语法
前言 本文介绍Python3 基础语法. 编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -*- ...
- python 识别子串的位置_Python基础语法小白这一篇就足够了!
一个多星期的 Python基础语法学习结束,整理了一些常用必备的知识要点笔记.大家可以参考参考,内容比较长,知识点涉及还是蛮全面的(没面向对象),面向对象总结了以后会再单独发一篇,没有耐心的朋友可以直 ...
- Cris 的 Python日记(一):基础语法
文章目录 序言 0. 安装Python 环境,这里博主就使用以前搭配的 Anaconda 环境 1. Python 和 Sublime 的整合 2. 基本概念 3. 字面量和变量 4. 变量和标识符 ...
最新文章
- CUBLAS_STATUS_ALLOC_FAILED CUDA_ERROR_OUT_OF_MEMORY
- 桌面支持--打印机任务取消不了
- 利用python计算偏差-方差权衡
- UI自动化之元素定位(xpath、css)
- Mysql批量更新的三种方式
- matlab中的运算函数,基于Matlab软件的函数运算在实践中的应用
- VB中DoEvents的注意事项
- #import和@class 的区别
- Ansible自动化运维笔记3(playbook)
- C语言随笔小算法:取出一个任意整数的每一位数值
- ssh相关命令Linux,Linux SSH常用命令 [长期更新]...
- 【浅墨著作】《OpenCV3编程入门》内容简介勘误配套源代码下载
- 智慧林草信息化解决方案(森林防火应急指挥系统)
- android客户端服务器传输,【图片】【转】通过Android 客户端上传数据到服务器【aide吧】_百度贴吧...
- QQ、微信头像照片模糊怎么办?如何处理高清?
- Python作业:公鸡5元/只,母鸡3元/只,小鸡1元3只。问100元怎么买到100只。
- uniapp样式选择器最全详解
- 2020语数英小学初中课程百度云学而思Python笔记
- 基于Matlab使用 IMU、磁力计和高度计估计方向和高度(附源码)
- 子弹散射——Unity随手记(2021.2.4)
热门文章
- python归一化nan加扰动_标准化和归一化对机器学习经典模型的影响
- Java语言高级-常用API-第四节 ArrayList集合
- 论职能线和产品线的部门划分
- [应用推荐]FreeMind自动生成系统盘的树状图(思维导图)
- EBS:AP_INV_SELECTION_CRITERIA_ALL
- 自编码神经网络相似图片检索
- cli命令行配置路由器_Cisco路由CLI基础命令
- 用计算机怎么管理小米路由器,小米路由器3做二级路由器怎么设置?小米路由器3设置详细教程...
- 微软云中国的服务器在哪,微软云计算平台Windows Azure将落户中国
- java邮件数据库_javamail-demo(完整源码+数据库)