V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
immango
V2EX  ›  问与答

有个疑问, api 接口返回的 json 格式数据, key 是用驼峰写法还是下划线写法?

  •  
  •   immango · 2020-08-13 11:27:20 +08:00 · 2980 次点击
    这是一个创建于 1323 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,对接一些接口,返回值有两种样式 驼峰写法: { "firstKey": "value" } 有些是下划线: { "first_key": "value" }

    想问一下大家,这玩意有规范吗。大家在平常的工作用那种多些。 个人觉得驼峰比较适合和 java 的后端对接-.-。不知道支付宝的下划线是有什么说法没有,大佬们说说。

    支付宝的相关文档是用下划线的(官方文档示例):

    {

    "ant_merchant_expand_item_open_create_response": {
        "code": "10000",
        "msg": "Success",
        "item_id": "2018091300502200002600104169"
    },
    "sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
    

    }

    8 条回复    2020-08-13 15:32:47 +08:00
    dsphper
        1
    dsphper  
       2020-08-13 11:48:41 +08:00
    这问题和花括号换行和不换行一样,我认为 json 下划线优于驼峰,不为啥就是觉得下划线好看。
    Vegetable
        2
    Vegetable  
       2020-08-13 11:51:20 +08:00
    我对这个东西的底线要求是,自己内部统一,一套接口统一风格。选择哪一套无所谓。
    哦对,还有不要要拼音首字母,哪怕是中文都行
    immango
        3
    immango  
    OP
       2020-08-13 12:02:19 +08:00 via Android
    @dsphper 那 Java 后端接受的时候,是不是加上 @JsonProperty 转成驼峰
    KalaSearch
        4
    KalaSearch  
       2020-08-13 12:20:07 +08:00
    我们统一用的驼峰: https://kalasearch.cn/docs/rest-api-index-and-search

    Stripe 用的是下划线: https://stripe.com/docs/api/pagination

    微软用的是驼峰

    没有统一标准,参考: https://stackoverflow.com/questions/5543490/json-naming-convention
    shoaly
        5
    shoaly  
       2020-08-13 12:20:14 +08:00   ❤️ 1
    取决于 是你求着接 API, 还是 API 求着你来接
    oneisall8955
        6
    oneisall8955  
       2020-08-13 13:15:09 +08:00 via Android
    对于 JAVA 来说,可以使用 @JsonNaming 的注解配置成 snake 形式。规范就行了,哪种都可以表情
    loshine1992
        7
    loshine1992  
       2020-08-13 13:44:10 +08:00
    Java 的 IDE 有插件可以自动把下划线转驼峰生成对应的类

    反正标准统一就行。
    a3613051
        8
    a3613051  
       2020-08-13 15:32:47 +08:00
    内部统一即可。 最近和京东某业务对接。俩套接口 一套下划线一套小驼峰,共用的鉴权还是小驼峰。接口文档写的不想吐槽,联调过程极其难受。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   958 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:38 · PVG 04:38 · LAX 13:38 · JFK 16:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.