我个人感觉 json 会更好用一些, 但是看一些系统发现还是有很多地方在用 xml,比如说微信支付 一些框架的配置结构等等。我在知乎上看了一些 但是好像并没有给出 xml 的明显的优点,而作为阅读而言,我个人觉得 json 反而更容易理解,有知道这个的历史原因或者确实有些地方就应该使用 xml 来做。
1
CDuXZMAPgHp1q9ew 2019-01-22 16:21:54 +08:00
还可能有个原因, xml 支持 xsd 元数据定义. 写错了 idea 会提示
|
2
zhichaozhang OP @wujichao 嗯嗯 可能有这个原因 因为要校验配置格式定义的一致性问题
|
3
zjsxwc 2019-01-22 16:29:13 +08:00
虽然看起来 json 刚开始会少写一些代码,
但 xml 可以更少的代码包含更多的元数据,json 却写更多。。 |
4
reus 2019-01-22 16:29:44 +08:00
xml 手写麻烦,但 json 也不见得好
例如注释都不支持 |
5
shyangs 2019-01-22 16:31:44 +08:00
google XML Hell
Java 的配置文件不是 properties 就是 XML, 已经有历史惯性了. JSON, YAML, TOML 都是后起的. |
6
zhichaozhang OP @shyangs 是有一定的历史原因 但是像微信支付这种传输文本竟然也用的是 xml。。。
|
7
zhichaozhang OP @reus 注释这个可以算一个原因
|
8
ferock 2019-01-22 16:43:12 +08:00
@zhichaozhang 说明对接系统里有 java 的影子
|
9
zhichaozhang OP @zjsxwc 这个怎么理解? 在 json 中以对象的形式定义感觉一样啊 可能是我没理解到位
|
10
quinoa42 2019-01-22 16:44:36 +08:00
Rust 大家都用 toml,舒服多了
|
11
zjsxwc 2019-01-22 16:46:35 +08:00
|
12
zhichaozhang OP @quinoa42 yaml json 都还好
|
13
yinzhili 2019-01-22 16:50:36 +08:00
xml 可以写注释
json 咋办? |
14
xfriday 2019-01-22 16:59:38 +08:00
配置用 yaml (可以注释且易于阅读)
数据用 json 或 protobuf |
15
abcbuzhiming 2019-01-22 17:08:42 +08:00
xml 拥有元数据定义能力,这个能力 json 是不具备的,所以某些特殊场合,必须上 xml,没办法
@xfriday 真心不喜欢吹 yaml,yaml 这个东西,哪里好阅读了?人类视觉上下扫描的速度远不如左右左右的特点,决定 yaml 这种上下式树状层级组织配置文件注定没有 properties 文件好阅读 |
16
Sparetire 2019-01-22 17:11:20 +08:00 via Android
toml+1
yaml 三十行以内还行 |
17
sadhen 2019-01-23 00:14:50 +08:00
xml 其实是很优秀的
|
18
Alfons 2019-01-23 09:57:15 +08:00
ini 也很不错啊
|