python3 json的常用操作
python3 json的常用操作
既然是基本操作 ,在这里我便开门见山
什么是json呢?json,即JavaScript Object Notation, 是一种轻量级的数据交换格式。python3中常用json模块对json数据进行解析。
json这个模块包含了两个函数:
json.dumps():对数据进行编码; json.loads(): 对数据进行解码;
在json的编解码过程中,python 的原始类型与json类型会相互转换.
如python中的dict会编码成json的object:
import json data = { "a":1 "b":2 } json_data = json.dumps(data) print(data) print(json_data)
返回的结果如下:
{'a': 1, 'b': 2} {"a": 1, "b": 2}
你会发现两者非常相似。
我们在反过来对其进行解码
str_data = json.loads(json_data) str_data['a'] str_data['b']
返回的结果如下:
1 2
##常见的python类型转化为json类型如下表:
dict -> object list,tuple -> array str -> string int, float, int- & float-derived Enums -> number True -> true False -> false None -> null
json转化python,则相反。
但是,当我们要处理的是文件,而不是字符串时,就要用到json.dump()和json.load()
写入json数据:
with open('test.json', 'w') as f: json.dump(test, f)
读取json数据:
with open('data.json', 'r') as f: json.load(f)
那么dumps和dump有什么区别呢?
###dumps和dump都是一种序列化方法,dumps只完成了序列化为str,dump必须传文件描述符,将序列化的str保存到文件中
dumps可以格式化所有的基本数据类型为字符串:
import json
json.dumps(1)
json.dumps([])
json.dumps({})
返回的结果如下:
‘1’
‘[]’
‘{}’
import json test_data = {'a':1, 'b':2} with open(r"E:\test\test.json","w",encoding = "utf-8") as f: json.dump(test_data,f,indent = 5)
返回的结果如下:
{ "a": 1, "b": 2 }
其中的indent默认为0,若小于0,也默认为0.
###loads和load 是一种反序列化方法 loads 只完成了反序列化,load 只接收文件描述符,完成了读取文件和反序列化
test_data2 = '{"a":1, "b":2} json.loads(test_data2)
{‘a’: 1, ‘b’: 2}
import json with open("test.json", "r", encoding = 'utf-8') as f: data = json.load(f,strict=False) print(data)
{‘a’: 1, ‘b’: 2}
####另外,在读取json文件时,直接使用文件名即可,若加路径,则会报错。
pickle模块也可以读取python,json模块和picle模块都有 dumps、dump、loads、load四种方法,而且用法一样。
不用的是json模块序列化出来的是通用格式,其它编程语言都认识,就是普通的字符串,
而pickle模块序列化出来的只有python可以认识,其他编程语言不认识的,表现为乱码
不过pickle可以序列化函数,但是其他文件想用该函数,在该文件中需要有该文件的定义(定义和参数必须相同,内容可以不同.
- python 历险记(四)— python 中常用的 json 操作
- Python3.x下列表,元组,集合,字典等工作中常用操作
- Json概述以及python对json的相关操作
- python中selenium常用操作
- Python 基础 - 4 常用数值类型(int,float,bool)操作
- Python常用字符串操作
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- python文件操作及os模块常用命令
- python-文件操作及os模块常用函数
- str()和repr()(及''操作符)以及python对json的简单操作
- python ftp常用操作
- Python 常用字符串操作
- Python之Json文件操作
- python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
- 3.4 Python字典常用操作 update() copy() del clear() 学习笔记007
- Python脚本控制的WebDriver 常用操作 <六> 打印当前页面的title及url
- python对redis的常用操作 上 (对列表、字符串、散列结构操作)
- python 字典最常用操作笔记
- python json操作
- python常用的正则表达式操作