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

请教 ini json xml 三种结构的使用场景

  •  
  •   Famio · 2017-03-10 18:45:21 +08:00 · 3782 次点击
    这是一个创建于 2810 天前的主题,其中的信息可能已经有所发展或是发生改变。
    存放一些配置信息,不知道该怎么选结构啊。
    有没有前辈来告知下 3 种的对比,最好有使用场景举例。
    17 条回复    2017-03-11 14:30:07 +08:00
    popbones
        1
    popbones  
       2017-03-10 18:52:35 +08:00
    yaml
    pathbox
        2
    pathbox  
       2017-03-10 19:01:22 +08:00 via Android
    toml
    qile1
        3
    qile1  
       2017-03-10 19:05:28 +08:00 via Android
    请教需要频繁读写的选什么合适, ini 的经常读写,如果写冲突就会把所有内容清空, 0kb
    后台微软不是弄了注册表吗,但是注册表 pyrhon 在 64 ! 32 位系统下读取不一样
    Famio
        4
    Famio  
    OP
       2017-03-10 19:06:02 +08:00
    @pathbox @popbones 额,两位的回答请可以不要歪楼么= =
    misaka19000
        5
    misaka19000  
       2017-03-10 19:09:20 +08:00 via Android
    配置信息就用 ini 吧,或者 yaml ,都挺好的
    不过 sb 和 vs code 用的都是 JSON ,估计也有他们的考虑
    XML 就算了吧,不好使
    Cbdy
        6
    Cbdy  
       2017-03-10 19:19:13 +08:00 via Android
    话说不同语言有不同的配置文件传统吧,如果你用的语言比较动态,直接用它本身做配置也可以(比如 json ,直接可以解析成 js 对象)
    ivmm
        7
    ivmm  
       2017-03-10 19:33:47 +08:00
    应该就是传统问题 如 #6 所述,不过目前的新型应用基本都用 json
    Kilerd
        8
    Kilerd  
       2017-03-10 21:09:50 +08:00
    toml +1
    kevinzhow
        9
    kevinzhow  
       2017-03-10 22:46:34 +08:00
    ini 只做配置存储,直观。
    XML 可以结构化存储数据,也可以存配置,但是如果有手动编辑这个文件的场景,对开发者会比较不直观。
    ini 和 XML 一般是因为历史原因才在一些项目中仍然被使用,现在新开项目的话,都用 JSON 即可。
    murmur
        10
    murmur  
       2017-03-10 22:57:29 +08:00
    互联网应用偏爱 json
    企业开发喜欢 xml
    很老的 app 才会用 ini
    duan602728596
        11
    duan602728596  
       2017-03-10 23:07:02 +08:00 via iPhone
    b 站的弹幕信息貌似就是 xml 的
    orvice
        12
    orvice  
       2017-03-10 23:22:43 +08:00
    toml +1
    DoraJDJ
        13
    DoraJDJ  
       2017-03-11 00:07:38 +08:00 via Android
    ini 配置多见于 Windows 应用程序

    xml 多见于 Maven 项目配置文件和部分 API 接口

    目前 json 是较为常见且流行的结构,现在的 API 接口都在用它

    JSON IS GOD, XML IS DUST

    当然还有 yaml 格式也别忘了
    SoloCompany
        14
    SoloCompany  
       2017-03-11 02:14:04 +08:00
    如果你希望对人类最友好,那么选择 ini
    xml 太啰嗦语法也太严格
    json 的语法一样太严格,尼玛连个注释都不可以有
    如果需要结构化,首选是 yaml ,可以作为 json 的完美替代,也对人类友好
    RqPS6rhmP3Nyn3Tm
        15
    RqPS6rhmP3Nyn3Tm  
       2017-03-11 04:58:49 +08:00 via iPhone
    我喜欢 json ,互联网项目基本都是这个。但是如果是企业技术栈比较求稳的还是 XML 比较多
    似乎微软偏爱 XML
    momomirage
        16
    momomirage  
       2017-03-11 11:31:27 +08:00
    需要人写的 ini 这个语法最不复杂
    需要人读的 json
    不需要人读写的 xml 或其他
    hiboshi
        17
    hiboshi  
       2017-03-11 14:30:07 +08:00
    @momomirage 最后两句反了了吧。
    一般 INI 做配置化使用
    JSON 做传输或者结构和存储
    XML 一般用在可读性强的场合
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3029 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:35 · PVG 22:35 · LAX 06:35 · JFK 09:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.