Python Json数据解析

本篇主要介绍Python 中json数据如何解析、转化、保存和加载。

目录

Json数据解析

概念

作用

Json文件组成

Json转化为Python数据类型

Python数据类型转化为json

写入本地json文件

读取本地的json文件

总结


Json数据解析

概念

一种保存数据的格式

作用

可以保存本地的json文件,也可以将json串进行传输,通常将json称为轻量级的传输方式。

Json文件组成

{} 代表对象(字典)

[] 代表列表

: 代表键值对

, 分隔为两个部分

Json转化为Python数据类型

将json格式的字符串转化为python数据类型的对象

示例如下:

python 复制代码
jstr = '{"name": "zhangsan", "gender": "nan", "hobby": ["乒乓球", "篮球", "羽毛球"], "param": {"a": "b"}}'
pdata = json.loads(jstr)
print(pdata)
print(type(pdata))
print(pdata['hobby'])

执行结果:

bash 复制代码
{'name': 'zhangsan', 'gender': 'nan', 'hobby': ['乒乓球', '篮球', '羽毛球'], 'param': {'a': 'b'}}
<class 'dict'>
['乒乓球', '篮球', '羽毛球']

Python数据类型转化为json

将python数据类型的数据转化为json字符串。

示例如下:

python 复制代码
import json

pdata = {'name': 'zhangsan', 'gender': 'nan', 'hobby': ['乒乓球', '篮球', '羽毛球'], 'param': {'a':'b'}}
jstr = json.dumps(pdata)
print(jstr)
print(type(jstr))

执行结果:

bash 复制代码
{"name": "zhangsan", "gender": "nan", "hobby": ["\u4e52\u4e53\u7403", "\u7bee\u7403", "\u7fbd\u6bdb\u7403"], "param": {"a": "b"}}
<class 'str'>

写入本地json文件

写入的路径可以是绝对路径也可以是相对路径,示例使用的是相对路径。

示例如下:

python 复制代码
path = './local.json'
jsonData1 = {'name': 'zhangsan', 'gender': 'nan', 'hobby': ['乒乓球', '篮球', '羽毛球'], 'param': {'a':'b'}}
with open(path, 'w') as f:
    json.dump(jsonData1, f)

读取本地的json文件

读取刚才写入的本地json文件。

示例如下:

python 复制代码
path1 = './local.json'
with open(path1, 'rb') as f:
    data = json.load(f)
    print(data)
    print(type(data))

执行结果:

bash 复制代码
{'name': 'zhangsan', 'gender': 'nan', 'hobby': ['乒乓球', '篮球', '羽毛球'], 'param': {'a': 'b'}}
<class 'dict'>

总结

本篇主要介绍Python 中json数据如何解析、转化、保存和加载。

相关推荐
YZJenny6 分钟前
使用conda将python环境打包,移植到另一个linux服务器项目中
python
棉猴6 分钟前
Pygame实现记忆拼图游戏1
python·pygame·游戏编程·python游戏编程·pygame游戏编程
东方佑12 分钟前
Python中将Markdown文件转换为Word
python·c#·word
Asthenia041214 分钟前
@Autowired 和 @Resource:从简单入手聊聊依赖注入的那些事儿/@Primary @Qualifer
后端
Java水解33 分钟前
从简单类型到JSON:Spring MVC参数传递技巧
后端·spring
Emma歌小白38 分钟前
如何定时执行某个程序
后端·python
大鹏dapeng1 小时前
Gone 从v1升级v2 有哪些变化?
后端·go
Java技术小馆1 小时前
设计一个高性能的分布式限流系统
java·后端
WeiLai11121 小时前
面试基础---订单系统设计深度解析:分库分表、延迟任务与订单状态机
java·分布式·后端·爬虫·面试·职场和发展·架构