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数据如何解析、转化、保存和加载。

相关推荐
羊小猪~~4 分钟前
深度学习项目--基于DenseNet网络的“乳腺癌图像识别”,准确率090%+,pytorch复现
网络·人工智能·pytorch·python·深度学习·机器学习·分类
uhakadotcom8 分钟前
Godot 引擎:开源游戏开发的强大工具
后端·面试·github
weixin_307779139 分钟前
Python带多组标签的Snowflake SQL查询批量数据导出程序
开发语言·python·sql
uhakadotcom11 分钟前
frp 内网穿透工具:简介与实践
后端·面试·github
大模型铲屎官19 分钟前
Python 科学计算与机器学习入门:NumPy + Scikit-Learn 实战指南
开发语言·人工智能·python·机器学习·numpy·编程·scikit-learn
尤宸翎19 分钟前
Elixir语言的容量规划
开发语言·后端·golang
qq_4476630529 分钟前
Spring学习之路:环境搭建、核心API与配置文件细节
java·后端·spring
小峰编程41 分钟前
Python数据类型进阶——详解
linux·运维·服务器·开发语言·python·pycharm·swift
狗头大军之江苏分军1 小时前
移动端直播卡顿如何实时检测且告知用户
java·前端·后端