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 loads用法_Python json库中load、loads、dump、dumps的区别与用法相关推荐

  1. 【OpenCV图像处理入门学习教程六】基于Python的网络爬虫与OpenCV扩展库中的人脸识别算法比较

    OpenCV图像处理入门学习教程系列,上一篇第五篇:基于背景差分法的视频目标运动侦测 一.网络爬虫简介(Python3) 网络爬虫,大家应该不陌生了.接下来援引一些Jack-Cui在专栏<Pyt ...

  2. python dump函数用法_Python中json库的load和dump函数

    相信很多朋友都对python里面的json库非常熟悉,json这个东西简明易懂,还能储存数据,实在是非常方便. 我一开始使用json是从爬虫接触的,那个时候只知道json.loads和json.dum ...

  3. python json转换字典_Python json转字典字符方法实例解析

    josn基本操作 1.导入import json 2.字典转json:json.dumps(dict,ensure_ascii=False),加,ensure_ascii=False转换之后无中文乱码 ...

  4. python json是什么_python json详解

    在写某狗屁不通文章生成器的时候,发现有个json类型的文件看不懂. 于是先来搞懂什么是json json是一种储存数据的文件类型. 说人话,就是一种文件,能够数据 类似于DOC,excel 之类的. ...

  5. json中的loads和dumps的区别及用法

    1.json.loads():将str转为dict类型的 通常loads会在读取文件中的数据时会用到,读取的文件中数据看上去是个字典,但实际上是个str类型的数据这个时候就会用到 2.json.dum ...

  6. python request返回的响应_Python爬虫库requests获取响应内容、响应状态码、响应头...

    首先在程序中引入Requests模块 import requests 一.获取不同类型的响应内容 在发送请求后,服务器会返回一个响应内容,而且requests通常会自动解码响应内容 1.文本响应内容 ...

  7. python dataframe 列_python pandas库中DataFrame对行和列的操作实例讲解

    用pandas中的DataFrame时选取行或列: import numpy as np import pandas as pd from pandas import Sereis, DataFram ...

  8. python属性和方法的区别_Python中几种属性访问的区别与用法详解

    起步 在Python中,对于一个对象的属性访问,我们一般采用的是点(.)属性运算符进行操作.例如,有一个类实例对象foo,它有一个name属性,那便可以使用foo.name对此属性进行访问.一般而言, ...

  9. python海龟画图代码大全_python海龟库(turtle)中颜色的表示方法

    在python海龟库中,表示颜色的方法有很多,总体来讲共分成以下两类. 1. 用字符串表示颜色 在turtle库中,我们常常用颜色所对应的英文单词来直观的表示颜色. 例如:"red" ...

最新文章

  1. element not visible的解决方法
  2. Singleton + Proxy 模式+AOP
  3. python是用c写的吗-python和c语言的区别是什么
  4. Access注入偏移爆字段
  5. linux 自定义安装软件,在/ usr中跟踪Linux上自定义软件安装的最佳实践?
  6. 1130: 零起点学算法37——求阶乘
  7. 【转】JVM--内存区域划分
  8. C++ 非类型的模板参数
  9. 中国工业企业数据库stata处理
  10. 科研 | 中英文期刊分区介绍及查询方法
  11. 【FPGA】QuartusII_13.1安装及破解
  12. 最新护网/重保网络安全应急演练方案[精华]
  13. 气功修炼常识之:调息、丹田呼吸、脐呼吸、体呼吸
  14. 获取当前 IE 地址栏中的 URL
  15. python处理点云数据_python将指定点云文件(asc)转换为PCD格式
  16. 沃尔沃旗下豪华纯电动轿跑Polestar 2全球首发
  17. web--拉灯泡切换黑天与白夜的精美动画
  18. 计算机毕业设计ssm毕业设计过程管理系统049a8系统+程序+源码+lw+远程部署
  19. PUTTY中永久更改字体大小
  20. 《Python深度学习》Chapter 2——神经网络的数学基础

热门文章

  1. 将图片批量切割为512*512像素
  2. xtrabackup实现MySQL自动备份
  3. 动态规划背包问题之01背包详解
  4. jQuery 来了--动画,停止动画,回调函数Callback,链
  5. Python下mysql数据库连接池
  6. Javascript项目— 甜心教主《爱你》版 贪吃蛇游戏
  7. 华为系统更新提示服务器不可用,华为系统更新后云服务器
  8. volte 通话通过什么和modem交互
  9. async和await
  10. c语言用循环语句画红旗,C语言 飘动的红旗(要有旗杆)