请教 ini json xml 三种结构的使用场景 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Famio

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

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

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

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

    JSON IS GOD, XML IS DUST

    当然还有 yaml 格式也别忘了
    SoloCompany
        14
    SoloCompany  
       2017 年 3 月 11 日
    如果你希望对人类最友好,那么选择 ini
    xml 太嗦语法也太严格
    json 的语法一样太严格,尼玛连个注释都不可以有
    如果需要结构化,首选是 yaml ,可以作为 json 的完美替代,也对人类友好
    RqPS6rhmP3Nyn3Tm
        15
    RqPS6rhmP3Nyn3Tm  
       2017 年 3 月 11 日 via iPhone
    我喜欢 json ,互联网项目基本都是这个。但是如果是企业技术栈比较求稳的还是 XML 比较多
    似乎微软偏爱 XML
    momomirage
        16
    momomirage  
       2017 年 3 月 11 日
    需要人写的 ini 这个语法最不复杂
    需要人读的 json
    不需要人读写的 xml 或其他
    hiboshi
        17
    hiboshi  
       2017 年 3 月 11 日
    @momomirage 最后两句反了了吧。
    一般 INI 做配置化使用
    JSON 做传输或者结构和存储
    XML 一般用在可读性强的场合
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2484 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 127ms UTC 01:06 PVG 09:06 LAX 18:06 JFK 21:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86