公路水运建设质量安全监督网站创建个人网站教案
简介
 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写
 同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互
  
网址
 官方文档
json — JSON encoder and decoder — Python 3.11.4 documentation
 在线解析网站
JSON在线解析及格式化验证 - JSON.cn
使用
引入
 import json
  
json.loads()
 把Json字符串解码为Python数据【内置四种类型/列表/字典】
 str = '123'
 print(json.loads(str)) #123
 strList = '[1,2,3,4]'
 print(json.loads(strList))  # [1, 2, 3, 4]\
 strDict = '{"city": "北京", "name": "范爷"}'
 print(json.loads(strDict))  # {'city': '北京', 'name': '范爷'}
 如果传入的字符串的编码不是UTF-8的话,需要指定字符编码的参数
 data_dict = json.loads(jsonStrGBK, encoding="GBK");
 如果 dataJsonStr通过encoding指定了合适的编码,但是其中又包含了其他编码的字符,
 则需要先去将dataJsonStr转换为Unicode,然后再指定编码格式调用json.loads()
 dataJsonStrUni = dataJsonStr.decode("GB2312");
 dataDict = json.loads(dataJsonStrUni, encoding="GB2312");
  
json.dumps()
 把python数据【内置四种类型/列表/字典】转化为json字符串
 默认使用ascii编码【添加参数 ensure_ascii=False 禁用ascii编码,按utf-8编码】
 dictStr = {"city": "北京", "name": "范爷"}
 print(json.dumps(dictStr, ensure_ascii=False))  # {"city": "北京", "name": "范爷"}
  
json.dump()
 将Python内置类型序列化为json对象后写入文件
 listStr = [{"city": "北京"}, {"name": "范爷"}]
 json.dump(listStr, open("listStr.json", "w"), ensure_ascii=False)
 dictStr = {"city": "北京", "name": "范爷"}
 json.dump(dictStr, open("dictStr.json", "w"), ensure_ascii=False)
  
json.load()
 读取文件中json形式的字符串元素,转化成python类型
 strList = json.load(open("listStr.json"))
 strDict = json.load(open("dictStr.json"))          
