活动地址:CSDN21天学习挑战赛
一、JSON是什么?
JSON(JavaScript Object Notation ,对象表示法), 是一种轻量级的文本数据交换格式。
二、特点:
json 独立于语言
json 具有自我描述性,更容易理解
json 比 xml 更小,更快,更易解析
爬虫检查会获取接口数据,接口数据就是 json 格式
三、JSON格式:
JSON的数据格式其实就是python里面的字典格式,即大括号内存在键和值。
其中值可以包含方括号括起来的数组,也就是python里面的列表。
例1:
{
"name": "小明",
"age": 18
}
例2:
{
"student":
[
{"name": "小明", "age": 11},
{"name": "小红","age": 10}
],
"classroom": {"class1": "room1", "class2": "room2"}
}
四、数据转换
json.dumps()的使用
>>> import json
# Python字典
>>> person = {"name": "小明", "age": 30, "tel": ["888888", "1351111111"], "isonly": True}
>>> print(person)
{'name': '小明', 'age': 30, 'tel': ['888888', '1351111111'], 'isonly': True}
>>> type(person)
<class 'dict'
# Python字典转换为json字符串
>>> jsonStr = json.dumps(person)
>>> print(jsonStr )
{"name": "\u5c0f\u660e", "age": 30, "tel": ["888888", "1351111111"], "isonly": true}
>>> type(jsonStr)
<class 'str'>
json.dump()的使用
import json
person = {"name": "小明", "age": 30, "tel": ["888888", "1351111111"], "isonly": True}
json.dump(person,open('data.json','w'),indent=4)
dump() 写入文件可以直接在里面添加参数即可写入。
相比于 dumps() 要把json 字串写入文件的话, 需要使用.write()方法写入。如 f.write(‘data.json’,‘w’)
json.dumps()的使用
json格式的字符串转换为python的类型。
>>> import json
# Python字典
>>> person = {"name": "小明", "age": 30, "tel": ["888888", "1351111111"], "isonly": True}
>>> print(person)
{'name': '小明', 'age': 30, 'tel': ['888888', '1351111111'], 'isonly': True}
>>> type(person)
<class 'dict'
# Python字典转换为json字符串
>>> jsonStr = json.dumps(person)
>>> print(jsonStr )
{"name": "\u5c0f\u660e", "age": 30, "tel": ["888888", "1351111111"], "isonly": true}
>>> type(jsonStr)
<class 'str'>
json.load() 的使用
loads() 传的是json字符串,而 load() 传的是文件对象
使用 loads() 时需要先读取文件在使用,如读取操作 f.read(),而 load() 则不用
import json
python_obj = json.load(open('data.json','r'))
print(python_obj)
print(type(python_obj))