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

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

  •  
  •   curiosity1901 · 2018-02-11 17:45:53 +08:00 · 4726 次点击
    这是一个创建于 2483 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如设计一个 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   ·   实用小工具   ·   2783 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:50 · PVG 22:50 · LAX 06:50 · JFK 09:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.