当前位置: 首页 > news >正文

python中的JSON模块详解

简介


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"))          

http://www.lryc.cn/news/113935.html

相关文章:

  • Syncfusion Essential Edit for WPF Crack
  • 机器学习深度学习——卷积神经网络(LeNet)
  • Pytorch Tutorial【Chapter 2. Autograd】
  • Python第三方库国内镜像下载地址
  • 从浏览器输入url到页面加载(七)服务端机器一般部署在哪里
  • Pytorch深度学习-----神经网络之Sequential的详细使用及实战详解
  • 安全基础 --- https详解 + 数组(js)
  • vue加载大量数据优化
  • WebRTC 之音视频同步
  • kubernetes基于helm部署gitlab-runner
  • 深度学习和OpenCV的对象检测(MobileNet SSD图像识别)
  • Gitlab CI/CD笔记-第一天-GitOps和以前的和jenkins的集成的区别
  • 有关OpenBSD, NetBSD, FreeBSD -- 与GPT对话
  • RabbitMQ 备份交换机和死信交换机
  • Linux 中利用设备树学习Ⅳ
  • 使用Spring Initializr方式构建Spring Boot项目
  • Sentinel 2.0 微服务零信任的探索与实践
  • Oracle以逗号分隔的字符串拆分为多行数据实例详解
  • harbor仓库安装部署(1.6.1)
  • FastAPI 构建 API 高性能的 web 框架(一)
  • Spring框架中的Bean的生命周期
  • vue3-ts-vite:vue 项目 配置 多页面应用
  • docker部署jenkins且jenkins中使用docker去部署项目
  • 无锚框原理 TOOD:Task-aligned One-stage Object Detection
  • 配置Picgo图床之COS、OSS、Github图床
  • 【LangChain】Prompts之自定义提示模板
  • EFLFK——ELK日志分析系统+kafka+filebeat架构(3)
  • 支付总架构解析
  • 【HCIP】OSPF综合实验
  • PyTorch深度学习实战(10)——过拟合及其解决方法