1 json.loads()

将json格式的数据转化为字典类型

data_json = '{"msg": "登录成功", "code": "10001", "data": null, "status":1}'
data_dict = json.loads(data_json, encoding="utf-8")

  

这个时候,如果使用 eval(data_json) 将会报错。

因为这个json格式的数据中,存在python中没有的数据类型:null

如果没有null,eval方法是可以实现将数据转化为字典类型。

NameError: name 'null' is not defined

所以,python中要将json格式的数据转化为字典型,就用到:loads。

2 json.load()

从文件中读取json类型的数据,并转化为字典类型

data_json = '{"msg": "登录成功", "code": "10001", "data": null, "status":1}'
with open("json_file.txt", mode="r", encoding="utf-8") as file:
date_dict = json.load(file)

  

3 json.dumps()

将Python中特定类型进行字符串化操作,即转换为json格式的数据

注意:字典、列表等都可以进行字符串话操作,变为json格式。

如果存在中文,不使用【ensure_ascii=False】,写入文件时,中文会被编码。

Python中的None对应Json中的null

one_dict = {"name": "菲菲", "age": 18, "money": None}
one_str = str(one_dict)
one_json = json.dumps(one_dict)
two_json = json.dumps(one_dict, ensure_ascii=False)

  

one_tuple = ["菲菲", 18, None]
one_str = str(one_tuple)
one_json = json.dumps(one_tuple)
two_json = json.dumps(one_tuple, ensure_ascii=False)

  

4 json.dump()

将字典类型转化为json字符串格式,写入到文件中

one_dict = {"name": "字典型", "age": 18, "money": None}
with open("json_file.txt", mode="a",encoding="utf-8") as file:
json.dump(one_dict, file, ensure_ascii=False)
one_tuple = ["菲菲", 18, None]
with open("json_file.txt", mode="a", encoding="utf-8") as file:
json.dump(one_tuple, file, ensure_ascii=False)

看下面示例代码以及运行结果:

indent可以美化格式。

one_dict = [{"Date": "8月17日", "Location": "图书馆", "Price": 0.00}, {"Date": "8月18日", "Location": "图书馆", "Price": None}]
with open("write_json.txt", mode="a", encoding="utf=8") as one_file:
json.dump(one_dict, one_file, ensure_ascii=False, indent=2)

总结:

loads  将json格式的数据转化为dict

dumps  将字典、列表t等类型的数据转化成json格式

load  读取json格式文件,并返回dict

dump  将字典、列表等格式的数据转化为json格式,写入文件

试了一下,

load,loads好像是只能转化成为dict。(反序列化,流——对象)

dump,dumps可以将列表,字典数据转化为json格式。(序列化,对象——可保存或可传输格式)

单词后面有s,都是对文件操作。

Python json库中load、loads、dump、dumps的区别与用法的更多相关文章

  1. Python 标准库中的装饰器

    题目描述 1.简单举例 Python 标准库中的装饰器 2.说说你用过的 Python 标准库中的装饰器 1. 首先,我们比较熟悉,也是比较常用的 Python 标准库提供的装饰器有:property ...

  2. (转)python标准库中socket模块详解

    python标准库中socket模块详解 socket模块简介 原文:http://www.lybbn.cn/data/datas.php?yw=71 网络上的两个程序通过一个双向的通信连接实现数据的 ...

  3. Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法

    Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法:在写LINQ语句的时候,往往会看到AsEnumerable() ,AsQueryable() 和T ...

  4. MVC+Spring.NET+NHibernate .NET SSH框架整合 C# 委托异步 和 async /await 两种实现的异步 如何消除点击按钮时周围出现的白线? Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法

    MVC+Spring.NET+NHibernate .NET SSH框架整合   在JAVA中,SSH框架可谓是无人不晓,就和.NET中的MVC框架一样普及.作为一个初学者,可以感受到.NET出了MV ...

  5. python中json库中的load、loads、dump、dumps的区别与用法

    一.json.dumps(i): json中的dumps方法是用来将特定格式的数据进行字符串化的操作,比如列表字典都可以进行字符串化操作然后写入json的file:而且如果是要写入json文件就必须要 ...

  6. Python Json模块中dumps、loads、dump、load函数介绍

    1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. import ...

  7. Python Json模块中dumps、loads、dump、load函数介绍哦

    来自: https://www.jb51.net/article/139498.htm 1.json.dumps()       json.dumps()用于将dict类型的数据转成str,因为如果直 ...

  8. python json库

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. 1.json库的使用 使用 JSON 函数需要导入 json 库:import jso ...

  9. 使用Python PIL库中的Image.thumbnail函数裁剪图片

    今天,是我来到博客园的第五天,发现自己还没有头像,想着上传ubuntu系统中我很喜欢的一个背景图片来当头像,但是因为图片过大,上传失败了.那么,我们如何使用python中强大的PIL库来进行图片裁剪呢 ...

随机推荐

  1. CausalVAE: Disentangled Representation Learning via Neural Structural Causal Models

    目录 概 主要内容 模型 ELBO 关于 Yang M., Liu F., Chen Z., Shen X., Hao J. and Wang J. CausalVAE: disentangled r ...

  2. CS5262设计DP转HDMI 4K60HZ +VGA 1080P方案芯片

    CS5262是一款带嵌入式MCU的4通道DisplayPort1.4到HDMI2.0/VGA转换器芯片,设计用于将DP1.4信号源连接到HDMI2.0接收器.CS5262集成了DP1.4兼容接收机和H ...

  3. Java初学者作业——分析计费规则后,编写程序输入乘坐出租车的时间和里程数,计算里程价格

    返回本章节 返回作业目录 需求说明: 某城市的出租车计费规则如下: 在 7:00 - 23:00 之间,3km 以内收取起步价 10 元,超过 3km 每 km 收取 2 元. 如果不在这个时间段,在 ...

  4. 【】(Git)用动图展示10大Git命令

    1.说明 git merge.git rebase.git reset.git revert.git fetch.git pull.git reflog-- 你知道这些 git 命令执行的究竟是什么任 ...

  5. Microsoft HoloLens 开发(3): 全息图交互方式 - Gaze

    Gaze(凝视) 是 HoloLens 交互输入的第一种形式,告诉你 用户 在世界上的位置,并让你确定他们的意图. 1.Gaze的用途 作为一个 Mixed Reality 开发者,Gaze 可以做很 ...

  6. python自动化适应多接口的断言怎么做?

    最近做的接口自动化,遇到了很多模块的接口,返回的断言不太相同,在放在unnitest单元测试框架+ddt数据驱动,做参数时,发现不能只通过一个方式进行断言,那么,要怎么做才能做到适配当前所有接口的断言 ...

  7. Flask_路由(二)

    一.路由规则设置说明 flask框架使用route()装饰器配置路由. from flask import Flask app = Flask(__name__) @app.route("/ ...

  8. spring-Ioc(二)学习笔记

    属性注入方式 设值注入:也就是set注入,通过setter方法注入 java Bean private ITestDao dao; public void setDao(ITestDao dao){ ...

  9. 使用 spring security 中的BcryptPasswordEncoder对象对用户密码进行加密

    一.引入security启动器 在子工程中直接引入,不用指定版本号 二.在启动类中把BCryptPasswordEncoder对象注入到容器中 三.在service 层注入 四. 调用encode方法 ...

  10. vue中自定义属性

    <div v-bind:id="name"></div> //v-bind:id="变量" or :id="变量"