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

日常学习之:Yaml 和 Json 有什么区别

安装

  • json 是 python 内置

  • yaml 需要安装

    pip install pyyaml
    

格式

对于同样一段数据:

test_data = {"金山中学":{
                "101班":{
                    "王宁": {
                        "语文":33,
                        "数学":22,
                        "英语":18
                    }
                }}}
  • 我们用下面的代码分别存入 yamljson 文件中:
with open("yaml.yml", 'w') as f:
    yaml.dump(test_data, f, allow_unicode=True)

在这里插入图片描述

with open("json.json", "w") as f:
    json.dump(test_data, f, ensure_ascii=False)

在这里插入图片描述

  • 很直观可以看到:
    • json 存储的时候采用的是大括号的方式,
    • 不同级别的数据之间没有明显的间隔
    • 同时 json 的 key 都用双引号进行区分。
    • yaml 存储的时候不进行任何的括号,
    • 通过空格来明确区分不同数据之间的层级关系
    • yaml 数据中没有使用双引号来约束 key
    • yaml 的存取速度比 json 要慢,因为 yaml 本身能够比 json 存的数据复杂,所以序列化和反序列化也要更复杂,这导致了存取速度的减慢,所以大规模的数据时还是采用 json 的方式

读取方式

  • yaml 的读取需要指定 Loader 的方式
with open("yaml.yml", 'r') as f:
    test_ = yaml.load(f, Loader=yaml.FullLoader)

参考文章

yaml和json区别
YAML vs. JSON: 有什么区别?
Python Yaml dump文件时中文显示解决方法

相关文章:

  • Debezium系列之:支持数据库ddl和dml数据发往同一个Kafka Topic
  • 项目统一规范包管理器
  • 04 Vue 注册plgins的多种形式
  • 【C语言程序设计】实验 4
  • Java中Map集合体系的基本使用和常用API
  • 【在Vue脚手架项目中使用axios】
  • mysql分库分表后,分页查询问题解决方案
  • 改进蝠鲼觅食优化算法(Matlab代码实现)
  • 【AI学习笔记】Error: ffmpeg error (see stderr output for detail)
  • 世界杯征文活动 | 神奇!一段JavaScript代码生成会动的足球
  • 职场生涯亮红灯要注意这些
  • 一文掌握 Go 文件的写入操作
  • 一文读懂Linux内存分配策略
  • [附源码]Python计算机毕业设计Django学习互助辅助系统
  • 论文投稿指南——中国(中文EI)期刊推荐(第2期)
  • 一个redux使用案例模板
  • 超详细的水果FL Studio21最新版更新全功能详细介绍!80项更新与改进!
  • CENTOS上的网络安全工具(十四)搬到Docker上(2)?
  • 微服务框架 SpringCloud微服务架构 21 RestClient 操作文档 21.1 新增文档
  • APP自动化测试系列之Appium介绍及运行原理
  • 电加热油锅炉工作原理_电加热导油
  • 大型电蒸汽锅炉_工业电阻炉
  • 燃气蒸汽锅炉的分类_大连生物质蒸汽锅炉
  • 天津市维修锅炉_锅炉汽化处理方法
  • 蒸汽汽锅炉厂家_延安锅炉厂家
  • 山西热水锅炉厂家_酒店热水 锅炉
  • 蒸汽锅炉生产厂家_燃油蒸汽发生器
  • 燃煤锅炉烧热水_张家口 淘汰取缔燃煤锅炉
  • 生物质锅炉_炉
  • 锅炉天然气_天燃气热风炉