活动地址:CSDN21天学习挑战赛
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。
学习日记(2)
目录
1、json.dumps()——#将 Python 数据类型转换为 JSON格式字符串
2、json.loads()——将JSON格式字符串转换为 python类型
3、json.dump()——将Python数据类型转换并保持json格式后写入文件
4、 json.load()——读取文件中json形式的字符串并转化为Python类型
什么是JSON库?
JSON,全称为JavaScript Object Notation,也就是JavaScript对象标记,通过对象和数组的组合表示数据,虽然构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。
json库的特点:
a、JSON独立于语言
b、JSON更易理解
c、JSON用来存储和交换文本信息,比XML更小/更快/更易解析,易于读写,占用带宽小,网络传输速度快的特性,适用于数据量大,不要求保留原有类型的情况。
d、爬虫经常获取的端口数据就是JSON格式
一、JSON库形式
1、JSON库基础使用形式
JSON库形式像字典,是一种用花括号圈起来的键值对。例如:{key1:value1,key2:value2,}
简单的,可以将JSON对象写为
{ "name":"小明","age":"18",} #键值对
进阶一下就是
[{
"name": "小明","height": "170","age": "18"},{
"name": "小红", "height": "165","age": "20"}]
由中括号包围的就相当于列表类型,列表中的每个元素可以是任意类型,这个示例中它是字典类型,由花括号圈住。
JSON 可以由以上两种形式自由组合而成,可以无限次嵌套,结构清晰,是数据交换的极佳方式。
2、JSON库的使用注意事项
a、JSON库的键值对的键的部分必须使用双引号,(即:
""
)来包括,键中不能使用关键字。b、JSON库的键值对的值的部分不能使用function、undefined等函数。
c、JSON库不能出现多余的逗号,例如,上文提到的json简单用法中的{ "name":"小明","age":"18",} 中,18后面的逗号就是明显的错误。
3、JSON基础使用总结
可以有多个对象
在花括号中书写,对象可以包含多个名称/值
对
JSON数组
每个对象代表一条关于某个人名的记录,在方括号中书写,数组可以包含多个对象
二、JSON库使用格式
正确的JSON格式如下(json对象、数组)
# { "name":"小明","age":"18"}
# [{
"name": "小明","height": "170","age": "18"},{
"name": "小红", "height": "165","age": "20"}]# {
"student":
[
{ "name":"小明","age":"18"}
{ "name":"小红","age":"16"}
]
}
三、JSON模块的使用
前端和后端进行数据交互,其实就是JSON和Python进行数据交互。
1、数据类型转换
python ⇄ JSON 格式转换参照如上
2、常用使用方法
Python在使用JSON这个模块前,首先要导入JSON库:import json
.
注意:不带s的是序列化到文件或者从文件反序列化,带s的都是内存操作不涉及持久化。
四、常用方法解读
1、json.dumps()——#将 Python 数据类型转换为 JSON格式字符串
import json data = {'name':'小米','age':18} print(json.dumps(data))
结果:
{"name": "小米", "age": 18}
变化:单引号已经变成双引号了
2、json.loads()——将JSON格式字符串转换为 python类型
import json data = {'name':'小米','age':18} # print(json.dumps(data)) a = json.dumps(data) print(json.loads(a))
结果:
{'name': '小米', 'age': 18}
3、json.dump()——将Python数据类型转换并保持json格式后写入文件
import json data = {'小米':'haha','a':[1,2,3,4],'b':(1,2,3)} with open('json_test.txt','w+') as f: json.dump(data,f)
4、 json.load()——读取文件中json形式的字符串并转化为Python类型
import json data = { '小米':'米卡米卡','a':[1,2,3,4],'b':(1,2,3)} with open('json_test.txt','w+') as f: json.dump(data,f) with open('json_test.txt','r+') as f: print(json.load(f))
结果:
{'a': [1, 2, 3, 4], 'b': [1, 2, 3], '小米': '米卡米卡'}