"""
在python 中 json是一个模块
JSON
JavaScript Object Nation js对象表示法
JSON的发展
当年的HTML独领风骚
上网大多数情况下指的就是打开一个网页
浏览器中运行的是js语言
做后台服务器 必须保证你的数据是浏览器(js)能够看懂的
js能看懂什么? 就是json
json数据类型与python数据类型的对应关系
python中的格式 json格式
字符 字符 必须是双引号
数字 数字
字典 字典
列表 数组
元组 没有
集合 没有
使用json描述你的个人信息
{
'name':"常威",
'age':15
}
注意:
使用json格式时要注意,最外层只能是一个数据 类型不限
如果你要一次性存储多个数据,需要使用容器 字典或数组
序列化
服务器端 需要根据前端的请求 从数据库获取数据 组织成前台可以识别的格式发给前台
反序列化
客户端 接收服务器返回的数据 并展示到屏幕上
json数据本质就是字符串,
主要函数:
序列化
dump
dumps
反序列化
load
loads
json 最大的优势在于 其实跨平台的数据交换格式 ,
并且对比XML 非常轻量级
"""
import json
# 反序列化loads
# with open("新闻.json",encoding="utf-8") as f:
# res = json.loads(f.read())
# print(type(res))
# load 封装了文件的read
# with open("新闻.json",encoding="utf-8") as f:
# res = json.load(f)
# print(type(res))
# 反序列化
# li = ["a","b","c"]
# with open("new2.json","wt",encoding="utf-8") as f:
# # 第一个参数 要序列化的数据
# # 第二个是文件对象
# json.dump(li,f)
"使用字典来保存你的前后左右同学的信息 然后用json序列化到文件中"
friends = [{"name":"常xx","age":30},{"aname":"刘xx","age":18}]
with open("user.json","wt",encoding="utf-8") as f:
json.dump(friends,f)
with open("user.json","rt",encoding="utf-8") as f:
res = json.load(f)
print(res)