python中的Json模块dumps、dump、loads、load函数用法详解

 更新时间:2022年11月30日 10:47:12   作者:Python热爱者  
这篇文章主要介绍了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)

到此这篇关于python中的Json模块dumps、dump、loads、load函数用法详解的文章就介绍到这了,更多相关python json模块dumps、dump、loads、load函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Python传入参数的几种方法

    详解Python传入参数的几种方法

    这篇文章主要介绍了Python传入参数的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 基于Python3 逗号代码 和 字符图网格(详谈)

    基于Python3 逗号代码 和 字符图网格(详谈)

    下面小编就为大家带来一篇基于Python3 逗号代码 和 字符图网格(详谈)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Python解决鸡兔同笼问题的方法

    Python解决鸡兔同笼问题的方法

    这篇文章主要介绍了Python解决鸡兔同笼问题的方法,分析了鸡兔同笼问题的原理与解决思路,并给出了Python实现的代码,非常具有参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • Python中关于print和return的区别

    Python中关于print和return的区别

    这篇文章主要介绍了Python中关于print和return的区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python数据结构树与算法分析

    Python数据结构树与算法分析

    这篇文章主要介绍了Python数据结构树与算法分析,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • Python 搭建 FastAPI 项目的详细过程

    Python 搭建 FastAPI 项目的详细过程

    这篇文章主要介绍了Python搭建FastAPI项目的过程,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • VSCode配置python环境及中文问题解决方法

    VSCode配置python环境及中文问题解决方法

    这篇文章主要介绍了VSCode配置python环境及中文问题,print打印中文乱码如何解决这个问题呢,本文给大家带来两种方法帮助大家解决这个问题,需要的朋友可以参考下
    2022-02-02
  • python如何定义带参数的装饰器

    python如何定义带参数的装饰器

    这篇文章主要为大家详细介绍了python如何定义带参数的装饰器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python自动化办公之Excel数据的写入

    Python自动化办公之Excel数据的写入

    这篇文章主要为大家详细介绍一下Python中excel的写入模块- xlsxwriter,并利用该模块实现Excel数据的写入,感兴趣的小伙伴可以了解一下
    2022-05-05
  • Python3实现定时任务的四种方式

    Python3实现定时任务的四种方式

    Python实现定点与定时任务方式比较多,找到下面四中实现方式,每个方式都有自己应用场景;下面来快速介绍Python中常用的定时任务实现方式,一起看看吧
    2019-06-06

最新评论