首页 > 编程语言 >python json用法 dump和dumps的区别;loads()和load()的区别

python json用法 dump和dumps的区别;loads()和load()的区别

时间:2022-08-25 15:56:18浏览次数:65  
标签:load dump 区别 python dumps json loads

json常用方法

方法作用
json.dumps() 将python对象编码成Json字符串
json.loads() 将Json字符串解码成python对象
json.dump() 将python中的对象转化成json储存到文件中
json.load() 将文件中的json的格式转化成python对象提取

 

1,json中的dump和dumps用法上的区别

import json


def json_str():
data = dict(name='myname', age=100)
j = json.dumps(data)
print(j)

j1 = json_str()
print(j1)

输出结果为:

{"name": "myname", "age": 100}
None

Process finished with exit code 0

:可以看见输出了一份json字符串

------------------------------------------------------------------------------------------------------------

def json_str():
# 将python对象转换为json字符串
persons = [
{
'username': "zhaoji",
"age": "18",
"country": "China"
},
{
"username": "cyj",
"age": "18",
"country": "China"
}
]
with open("F:/j1.json", "w") as fp:
json.dump(persons, fp)

fp.close()

j1 = json_str()
print(j1)

输出结果为:

 

 

:可以看见输出了一份json格式的数据,将python中的对象转化成json储存到文件中

------------------------------------------------------------------------------------------------------------

2,json中的dump和dumps用法上的区别

1.load 和 loads (反序列化)

load:针对文件句柄,将json格式的字符转换为dict,从文件中读取 (将string转换为dict)

a_json = json.load(open('demo.json','r'))
  • 1

loads:针对内存对象,将string转换为dict (将string转换为dict)

a = json.loads('{'a':'1111','b':'2222'}')

标签:load,dump,区别,python,dumps,json,loads
From: https://www.cnblogs.com/lish007/p/16624521.html

相关文章

  • C++中map,multimap和unordered_map的区别
    map、multimap容器map的所有元素都是pair,同时拥有键值(key)和实值(value)pair的第一元素被视为键值,第二元素被视为实值性质:以rb_tree为底层结构,因此元素有自动排序的特性,......
  • mysql 不可重复读与幻读的区别
    不可重复读的重点是修改:同样的条件,你读取过的数据,再次读取出来发现值不一样了幻读的重点在于新增或者删除同样的条件,第1次和第2次读出来的记录数不一样当然,从......
  • 【MySQL】mysqldump从所有数据库备份中还原某个指定的库
    有时候,需要还原某个特定的数据库,但是在备份的时候却又备份了所有的数据库。这时,就可以通过参数--one-database选项来还原指定的数据库。mysql-uroot-p[pwd]--one-data......
  • 将 SAP Spartacus 作为 feature module 进行 Lazy Load 延迟加载时遇到的注入错误分析
    将SAPSpartacus作为featuremodule进行LazyLoad延迟加载时,遇到如下错误:ERRORError:Uncaught(inpromise):NullInjectorError:R3InjectorError(CatalogModu......
  • 加密流量TLS1.2 和TLS1.3的握手区别
    加密流量TLS1.2和TLS1.3的握手区别TLS1.2握手均是明文1)ClientHello2)ServerHello3)CertificateTLS1.3握手中ClientHello是明文,而ServerHello中Extensions以......
  • always@(*)和 always_comb 有什么区别?
    1.always_comb在时间0自动执行一次,而@(*)等待直到其敏感列表中的信号发生改变时才执行。2.always_comb对函数参数和内容的变化都敏感,而always@(*)只对函数参......
  • webpack中path.join()和path.resolve()区别
    constpath=require('path')path模块提供了用于处理文件和目录的路径的实用工具,使用时引入即可。 1.__dirname和__filename的区别__dirname,是一个成员,用来动态获取......
  • 技术公司与非技术公司的区别,真实!
    有人的地方就有江湖,就有人情世故,就算在大厂工作,技术是很重要,但不是最重要的。粉丝中有很多小伙伴是初入职场的,也有一些是工作几年的职场老鸟。不管初入职场还是职场老鸟,都......
  • 架构、框架、设计模式的定义和区别
    一、架构架构即软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件体系结构是构建计算机软件实践的基础,简单来说,软件架构是一个系......
  • 分布式和集群的区别是什么?
      1.什么是分布式 ?分布式系统一定是由多个节点组成的系统。其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。这些连通的节点上部署了我们的......