python中的Json模块dumps、dump、loads、load函数用法详解
作者:Python热爱者 发布时间:2023-11-09 20:01:30
标签:python,json,dumps,dump,loads,load
json的作用
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式
json.dumps(): 对数据进行编码,把python对象转换为字符串数据
json.loads(): 对数据进行解码,把json的字符串转换为python对象
python中的Json模块dumps、dump、loads、load函数用法详解
1、json.dumps()和loads()
json.dumps()将dict类型数据转成str。
json.loads()刚好相反,将str类型的数据转成dict。
import json
data= {'a':'1111','b':'2222','c':'3333','d':'4444'}
filename = r"d:\1.json"
# 使用dumps()
str_data = json.dumps(data)
print(str_data) #输出{"a": "1111", "b": "2222", "c": "3333", "d": "4444"}
# 使用loads()
dict_data = json.loads(str_data)
print(dict_data) #输出{'a': '1111', 'b': '2222', 'c': '3333', 'd': '4444'}
2、json.dump()和json.load()
json.dump主要用来文件写入,json.load主要用来文件读取。但是只能写入读取一条数据,多条会报错。
json.dump(x,f),x是对象,f是一个文件对象,这个方法可以将json字符串写入到文件中。
json.load(f),f是一个文件对象,这个方法可以从文件中读取json数据。
import json
data = {'a':'1111','b':'2222','c':'3333','d':'4444'}
filename = r"d:\1.json"
# 使用dump()写入一行数据
with open(filename, "w") as f:
json.dump(data,f)
# 使用load()读取一行数据
with open(filename, 'r') as f:
jsObj = json.load(f)
for key in jsObj.keys():
print('key: %s value: %s' % (key,jsObj.get(key)))
输出:
key: a value: 1111
key: b value: 2222
key: c value: 3333
key: d value: 4444
3、如何读取写入多行数据呢?
import json
filename = r"d:\1.json"
data = [{'a':'1111','b':'2222','c':'3333','d':'4444'},
{'e':'1111','f':'2222','g':'3333','h':'4444'},
{'i':'1111','j':'2222','k':'3333','l':'4444'},
{'m':'1111','n':'2222','o':'3333','p':'4444'}]
#写入多行数据到文件
with open(filename,'w') as f:
for i in range(len(data)):
f.write(json.dumps(data[i])+'\n') #一定要换行
#从文件读取多行数据,并转化为list
with open(filename,'r') as f:
jsObj=[json.loads(line) for line in f]
print(jsObj)
来源:https://blog.csdn.net/qdPython/article/details/123923738
0
投稿
猜你喜欢
- 这篇文章主要介绍了python matplotlib给图中的点加标签,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 内容摘要: 网页的色彩搭配往往是网友们感到头疼的问题,尤其是那些完全没有美术基础的网友。到底用
- 引言语音端点检测最早应用于电话传输和检测系统当中,用于通信信道的时间分配,提高传输线路的利用效率.端点检测属于语音处理系统的前端操作,在语音
- 本文实例讲述了python冒泡排序简单实现方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/pythonimport ra
- 周六。据闻北服美女甚多,于是应邀去做了一个关于UED的讲座。人不多,讲的很乱,但大家听的很认真,欣慰。讲完之后回答了很多关于社区、搜索、设计
- 引言最近在技术交流群里聊到一个关于图像文字识别的需求,在工作、生活中常常会用到,比如票据、漫画、扫描件、照片的文本提取。博主基于 PyQt
- FrontPage 2003在功能上增强了不少,下面我们一起来看看新版本中比较突出的9个新功能。1.自定义浏览器分辨率预览检查 在
- 最近在做一个领券功能的时候,发现在一定并发下会出现重复领券的问题。使用度娘一顿搜索操作之后,发现可以使用分布式锁来解决这个问题。什么是分布式
- 上次 li 把 dl 模拟了~dl不知道要干什么了:green:~找了ol一起来做复合列表~:这个练习除了css外~外加用了点JS :shi
- 几年前,看到一台湾人写的一段程序(好像是《日语基础》),在网页上实现音视频与文字的同步播放(就是音视频播到哪部分,相应的文字就亮显,点击某一
- 本文实例讲述了Django框架首页和登录页分离操作。分享给大家供大家参考,具体如下:1.登录模板login.html<!DOCTYPE
- 在编程时你一定碰到过时间触发的事件,在VB中有timer控件,而asp中没有, 假如你要不停地查询数据库来等待一个返回结果的话,我想你一定知
- 前言因为工作的需要,最近看了看Python的应用,从入门级的九九乘法表开始,结果发现Python3.x和Python2.x真的是有太大的不同
- 以控制抖音app滑动并获取抖音短视频发布者昵称和点赞数等信息为例:1. 安装appium-python-client模块并启动已安装好的环境
- 前言最近因为工作需要 用selenium做了一个QQ邮箱的爬虫(登录时部分帐号要滑动解锁),先简单记录一下。这个问题先可以分为两个部分:1.
- 前言:因为研究工作的需要,要更改激活函数以适应自己的网络模型,但是单纯的函数替换会训练导致不能收敛。这里还有些不清楚为什么,希望有人可以给出
- 这篇文章主要介绍了基于Python实现扑克牌面试题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- python 打开浏览器,可以做简单的刷网页的小程序。仅供学习,别用非法用途。python的webbrowser模块支持对浏览器进行一些操作
- 看下面的一组例子:alert(true.toString());alert(false.toString());alert(1.123.to
- 本文实例讲述了Python多继承原理与用法。分享给大家供大家参考,具体如下:python中使用多继承,会涉及到查找顺序(MRO)、重复调用(