• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zhichaozhang
V2EX  ›  程序员

xml vs json 为什么还有很多项目在用 xml 做配置文件或者传输文本

  •  1
     
  •   zhichaozhang ·
    threadshare · Jan 22, 2019 · 6456 views
    This topic created in 2689 days ago, the information mentioned may be changed or developed.

    我个人感觉 json 会更好用一些, 但是看一些系统发现还是有很多地方在用 xml,比如说微信支付 一些框架的配置结构等等。我在知乎上看了一些 但是好像并没有给出 xml 的明显的优点,而作为阅读而言,我个人觉得 json 反而更容易理解,有知道这个的历史原因或者确实有些地方就应该使用 xml 来做。

    19 replies    2020-09-02 22:02:02 +08:00
    CDuXZMAPgHp1q9ew
        1
    CDuXZMAPgHp1q9ew  
       Jan 22, 2019
    还可能有个原因, xml 支持 xsd 元数据定义. 写错了 idea 会提示
    zhichaozhang
        2
    zhichaozhang  
    OP
       Jan 22, 2019
    @wujichao 嗯嗯 可能有这个原因 因为要校验配置格式定义的一致性问题
    zjsxwc
        3
    zjsxwc  
       Jan 22, 2019
    虽然看起来 json 刚开始会少写一些代码,

    但 xml 可以更少的代码包含更多的元数据,json 却写更多。。
    reus
        4
    reus  
       Jan 22, 2019
    xml 手写麻烦,但 json 也不见得好
    例如注释都不支持
    shyangs
        5
    shyangs  
       Jan 22, 2019
    google XML Hell

    Java 的配置文件不是 properties 就是 XML, 已经有历史惯性了.
    JSON, YAML, TOML 都是后起的.
    zhichaozhang
        6
    zhichaozhang  
    OP
       Jan 22, 2019
    @shyangs 是有一定的历史原因 但是像微信支付这种传输文本竟然也用的是 xml。。。
    zhichaozhang
        7
    zhichaozhang  
    OP
       Jan 22, 2019
    @reus 注释这个可以算一个原因
    ferock
        8
    ferock  
    PRO
       Jan 22, 2019
    @zhichaozhang 说明对接系统里有 java 的影子
    zhichaozhang
        9
    zhichaozhang  
    OP
       Jan 22, 2019
    @zjsxwc 这个怎么理解? 在 json 中以对象的形式定义感觉一样啊 可能是我没理解到位
    quinoa42
        10
    quinoa42  
       Jan 22, 2019
    Rust 大家都用 toml,舒服多了
    zjsxwc
        11
    zjsxwc  
       Jan 22, 2019
    @zhichaozhang

    json 可以继承别的 json 格式吗,xml 可以

    json 可以改变、修复当前已有数据格式的定义吗,xml 可以
    zhichaozhang
        12
    zhichaozhang  
    OP
       Jan 22, 2019
    @quinoa42 yaml json 都还好
    yinzhili
        13
    yinzhili  
       Jan 22, 2019
    xml 可以写注释
    json 咋办?
    xfriday
        14
    xfriday  
       Jan 22, 2019
    配置用 yaml (可以注释且易于阅读)
    数据用 json 或 protobuf
    abcbuzhiming
        15
    abcbuzhiming  
       Jan 22, 2019
    xml 拥有元数据定义能力,这个能力 json 是不具备的,所以某些特殊场合,必须上 xml,没办法

    @xfriday 真心不喜欢吹 yaml,yaml 这个东西,哪里好阅读了?人类视觉上下扫描的速度远不如左右左右的特点,决定 yaml 这种上下式树状层级组织配置文件注定没有 properties 文件好阅读
    Sparetire
        16
    Sparetire  
       Jan 22, 2019 via Android
    toml+1
    yaml 三十行以内还行
    sadhen
        17
    sadhen  
       Jan 23, 2019
    xml 其实是很优秀的
    Alfons
        18
    Alfons  
       Jan 23, 2019
    ini 也很不错啊
    Cbdy
        19
    Cbdy  
       Sep 2, 2020 via Android
    @wujichao 现在 JSON 也有 JSON Schema 支持了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1332 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 17:22 · PVG 01:22 · LAX 10:22 · JFK 13:22
    ♥ Do have faith in what you're doing.