常用数据交换格式汇总

1,189 阅读1分钟

XML(可扩展标记语言)

优点:

  1. 格式标准,简单灵活
  2. 层级一目了然 缺点:
  3. 内容重复
  4. 数据量大
<teacher>
  <name>空老师</name>
  <sex></sex>
</teacher>

json(JS对象简谱)

优点:

  1. 占带宽小(格式是压缩的)
  2. 传输快
  3. 可读性好
  4. js通过eval()进行Json读取(便于客户端读取)
  5. JSON支持多种语言(c、c++、PHP等),便于服务端解析 缺点:
  6. 无法添加注释
{
  "teacher":{
    "name":"空老师",
    "sex":"女"
  }
}

cson(cs对象简谱)

优点:

  1. 语法更宽松精简
  2. 可以写注释
  teacher:{
    name:"空老师",
    sex:"女"
  }

protobuf(序列化)

用于高效存取结构化数据的工具,可扩展的序列化结构数据的方法 优点:

  1. 高效
  2. 支持多种语言,支持多个平台
  3. 扩展性、兼容性好 缺点:
  4. 可读性低
  5. 通用性低(未普及) 先定义一个格式文件
message Teacher{
    string name = 1;
    int32 age = 2;
}

properties

优点:

  • 可读性高

缺点:

  • 需要重复定义很多的字段,维护困难
teacher.name=空老师
teacher.sex=女

yaml

类似json,不过使用了缩进来代替{ }中括号

优点:

  1. 继承json的语法
  2. 语法简洁优雅
  3. 可读性高
teacher{
    name: 空老师
    sex: 
}

toml

优点:

  1. 采用链式声明的方式,更利于阅读
  2. 灵活
[teacher]
name="空老师"
age=18

❤️ 感谢大家
如果本文对你有帮助,就点个赞支持下吧,你的「赞」是我创作的动力。