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中的时间包,主要包括datetime时间包,获取当前时间,获取时间间隔及时间对象转时间字符串的相关知识,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Python列表生成式与生成器操作示例

    Python列表生成式与生成器操作示例

    这篇文章主要介绍了Python列表生成式与生成器操作,结合实例形式分析了Python列表生成式与生成器的功能、使用方法及相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • 由面试题加深对Django的认识理解

    由面试题加深对Django的认识理解

    这篇文章主要介绍了由面试题加深对Django的认识,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • pandas DataFrame 警告(SettingWithCopyWarning)的解决

    pandas DataFrame 警告(SettingWithCopyWarning)的解决

    这篇文章主要介绍了pandas DataFrame 警告(SettingWithCopyWarning)的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python调用百度根据经纬度查询地址的示例代码

    Python调用百度根据经纬度查询地址的示例代码

    今天小编就为大家分享一篇Python调用百度根据经纬度查询地址的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • python人工智能tensorflow函数np.random模块使用

    python人工智能tensorflow函数np.random模块使用

    这篇文章主要为大家介绍了python人工智能tensorflow函数np.random模块使用方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 教你使用python搭建一个QQ机器人实现叫起床服务

    教你使用python搭建一个QQ机器人实现叫起床服务

    这篇文章主要介绍了教你使用python搭建一个QQ机器人实现叫起床服务,作为一个程序猿如果没有女朋友叫你起床,那么就自己制作一个,如果有那么也可以帮你叫女朋友起床
    2021-08-08
  • opencv实现图像平移效果

    opencv实现图像平移效果

    这篇文章主要为大家详细介绍了opencv实现图像平移效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • python中List的sort方法指南

    python中List的sort方法指南

    我们需要对List进行排序,Python提供了两个方法:1.用List的成员函数sort进行排序;2.用built-in函数sorted进行排序,今天我们就来探讨下这2个方法
    2014-09-09
  • Python通过zookeeper实现分布式服务代码解析

    Python通过zookeeper实现分布式服务代码解析

    这篇文章主要介绍了Python通过zookeeper实现分布式服务代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07

最新评论