我个人感觉 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 PRO @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 也很不错啊 |