设计基于 JSON 的 api 时,其中的 JSON 结构的 Key,大家一般参照那种命名规范? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
curiosity1901
V2EX    程序员

设计基于 JSON 的 api 时,其中的 JSON 结构的 Key,大家一般参照那种命名规范?

  •  
  •   curiosity1901 2018-02-11 17:45:53 +08:00 5088 次点击
    这是一个创建于 2800 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如设计一个 POST 方法的 api,Content-Type 为 application/json,其中
    1. 提交的 JSON 数据结构是哪种命名规范?
    2. 返回的 JSON 数据结构是哪种命名规范?
    另外
    3. GET 方法的 api 的 Params 中的 Key 又是哪种命名规范?

    这里有一个 Google 的一份 Style Guide 好像是推荐首字母小写的驼峰,https://google.github.io/styleguide/jsoncstyleguide.xml
    13 条回复    2018-02-13 17:52:14 +08:00
    zarte
        1
    zarte  
       2018-02-11 17:57:29 +08:00
    cptbtptp
    flzxsqc
    XD
    curiosity1901
        2
    curiosity1901  
    OP
       2018-02-11 18:01:37 +08:00
    @zarte What's this? 老兄
    hsuan
        3
    hsuan  
       2018-02-11 18:02:48 +08:00 via Android
    我一般用全小写,下划线分隔
    bazingaterry
        4
    bazingaterry  
       2018-02-11 18:07:00 +08:00 via iPhone
    基本和的一,其最蛋疼的是 ORM 的候代是峰,下。
    curiosity1901
        5
    curiosity1901  
    OP
       2018-02-11 18:08:32 +08:00
    @hsuan 我也是这样子,包括在公司就是这种,但是看到一些推荐用首字母小写的驼峰。我看了下 Google 和 Facebook 的部分 api,确实是这个风格,不过也看了 Instagram,发现用的是下划线。所以纠结症犯了。。。
    liuhuansir
        6
    liuhuansir  
       2018-02-11 18:09:10 +08:00 via iPhone
    @bazingaterry 这种我一般用注解转换,json 驼峰,代码驼峰,数据库字段下划线
    curiosity1901
        7
    curiosity1901  
    OP
       2018-02-11 18:13:00 +08:00
    @liuhuansir 数据库的命名好像不区分大小写,所以比较推荐下划线
    curiosity1901
        8
    curiosity1901  
    OP
       2018-02-11 18:15:32 +08:00
    很多 ORM 在生成数据表的时候应该会自动转化成下划线风格的命名
    doublelam
        9
    doublelam  
       2018-02-11 22:52:57 +08:00
    这个,个人感觉吧,如果是 nodejs 或者 java 之类的首字母小写,驼峰命名很自然,如果比如用 python,是不是有点怪怪的?
    sothx
        10
    sothx  
       2018-02-12 02:52:48 +08:00 via iPhone
    我一般 JSON 都是小驼峰。
    parmas 一般就是下划线分开。
    goinghugh
        11
    goinghugh  
       2018-02-12 09:16:52 +08:00
    和语言相关吧,用 java 写后端很自然就写成驼峰了;用 python 写后端,很自然就写成下划线了..
    panpanpan
        12
    panpanpan  
       2018-02-12 10:37:29 +08:00
    驼峰难道不是因为 Java 的编码规范中推荐使用驼峰吗?所以返回就是驼峰了,接收参数也是驼峰
    keysaim
        13
    keysaim  
       2018-02-13 17:52:14 +08:00 via iPhone
    只要不要直接返回数组 尽量遵循 http 规范 至于下划线还是驼峰 你固定一种就可以了。如果你用 Go 的话 推荐驼峰
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     919 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 22:36 PVG 06:36 LAX 15:36 JFK 18:36
    Do have faith in what you're doing.
    ubao 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