yaml和json区别

YAML使用空格缩进,yaml是json的超集

开发人员喜欢JSON,因为它是JavaScript的子集,并且可以在JavaScript内部直接解释和编写,还可以使用简写方式声明JSON,在使用不带空格的典型变量名时,键中不需要双引号。

  • 在许多情况下,YAML的格式看起来更直观,不需要这么些括号{}和"". 如果您在编辑器中没有可见的空格或缩进线指示符,则YAML的空格虽然更紧凑且更易于查看,但看起来很难手动编辑。

  • 与YAML相比,JSON的功能要少得多,因此JSON的序列化和反序列化速度要快得多,这使得更小更轻的代码可以处理JSON, json对于平台兼容,尤其是消息传递这块更好.。

  • python中模型的配置文件都是yaml格式----脱机处理, yaml利用空格缩进表示层级,只要具有相同的缩进就具有相同的层级,而且缩进只能用空格.

  • yaml字符串可以不用引号标注; json的字符串对象必须使用双引号""

  • 大小写敏感

device: cuda
dataset:
  name: ImageNet
  dataset_dir: ~/datasets/ImageNet
  image_size: 224
  n_channels: 3
  n_classes: 1000  # 具有相同缩进,属于同一层.
model:
  type: imagenet
  name: vgg
  init_mode: kaiming_fan_out
  vgg:
    n_channels: [64, 128, 256, 512, 512]
    n_layers: [2, 2, 3, 3, 3]
    use_bn: True
    dict1: {'key1':1,'key2':2}  #因为是json超集,因此可以用json格式
原文地址:https://www.cnblogs.com/Henry-ZHAO/p/14067066.html