首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

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

  •  1
     
  •   zhichaozhang · 239 天前 · 2560 次点击
    这是一个创建于 239 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    18 回复  |  直到 2019-01-23 09:57:15 +08:00
        1
    wujichao   239 天前
    还可能有个原因, xml 支持 xsd 元数据定义. 写错了 idea 会提示
        2
    zhichaozhang   239 天前
    @wujichao 嗯嗯 可能有这个原因 因为要校验配置格式定义的一致性问题
        3
    zjsxwc   239 天前
    虽然看起来 json 刚开始会少写一些代码,

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

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

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

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

    @xfriday 真心不喜欢吹 yaml,yaml 这个东西,哪里好阅读了?人类视觉上下扫描的速度远不如左右左右的特点,决定 yaml 这种上下式树状层级组织配置文件注定没有 properties 文件好阅读
        16
    Sparetire   239 天前 via Android
    toml+1
    yaml 三十行以内还行
        17
    sadhen   239 天前
    xml 其实是很优秀的
        18
    Alfons   239 天前
    ini 也很不错啊
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4231 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 34ms · UTC 06:10 · PVG 14:10 · LAX 23:10 · JFK 02:10
    ♥ Do have faith in what you're doing.