• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

为什么rest接口返回json建议采用下划线形式,不要用驼峰

java 搞代码 4年前 (2022-01-05) 64次浏览 已收录 0个评论

为什么rest接口返回json建议采用下划线形式,不要用驼峰?今天小编就来为大家说明一下原因,还等什么?一起跟随小编过来看看吧

今天被数据大神说了,对接第三方接口返回的json字段我想用驼峰形式,他说我这样不专业。所以就改了,认怂。

记住以后再次对接rest接口,返回的字段用下划线形式

记录一下改的内容

1.使用fastjson的@JSONField(name = “is_member”)

如果没有fastjson的包,要先引入

 <!-- fastjson start --> com.alibabafastjson1.2.54<!-- fastjson end -->

实体参数:

 /** * 是否会员 */ @JSONField(name = "is_member") private String isMember;

将需要转换的实体都标注好后,在通过JSONObject转jsonString的时候,就可以得到字段为下户线的json了

String json = JSONObject.toJSONString(new Entity());

tips:可以写个单元测试,测试一下这个转换是否成功

另外,还可以设置json转换时去掉某个字段,只需要这么写

@JSONField(serialize = false)

private String name;

自己写单元测试试一下吧

2.为了统一,csv文件的header字段我也用了下划线,但是由于这个不是转换json,所以上面的方法行不通,所以我自己转换了一下。

 public static final char UNDERLINE = '_'; /** * @Description 驼峰式转下划线 */ public static String camelToUnderline(String param) { if (param == null || "".equals(param.trim())) { return ""; } int len = param.length(); StringBuilder sb = new StringBuilder(len); for (int i = 0; i <len; i++) { char c = param.charAt(i); if (Character.isUpperCase(c)) { sb.append(UNDERLINE); sb.append(Character.toLowerCase(c)); } else { sb.append(c); } } return sb.toString(); }

好了,统一下划线格式就改好了。

补充知识:@JsonProperty注解 和 @Colume注解 — 驼峰式和下划线之间的自动转换

变量名为appid,希望jackson在把对象转换为json串时变为 AppId。可以使用@JsonProperty注解

@JsonProperty(“user_name”)

private String userName;

变量名为 createTime, 希望JPA自动对应到数据库的 create_time 字段,可以使用

 @Column 注解。 @Column(name = "create_time") public Timestamp getCreateTime() { return createTime<a style="color:transparent">来源gao($daima.com搞@代@#码网</a>; }

以上就是为什么rest接口返回json建议采用下划线形式,不要用驼峰的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:为什么rest接口返回json建议采用下划线形式,不要用驼峰

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址