为什么rest接口返回json建议采用下划线形式,不要用驼峰
作者:luo_yu_1106 发布时间:2023-06-24 23:23:16
标签:rest接口,json,下划线,驼峰
今天被数据大神说了,对接第三方接口返回的json字段我想用驼峰形式,他说我这样不专业。所以就改了,认怂。
记住以后再次对接rest接口,返回的字段用下划线形式
记录一下改的内容
1.使用fastjson的@JSONField(name = "is_member")
如果没有fastjson的包,要先引入
<!-- fastjson start -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>
<!-- 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();
}
来源:https://blog.csdn.net/luo_yu_1106/article/details/91492533
0
投稿
猜你喜欢
- 上篇文章中介绍了聊天功能,这里介绍通讯录是如何实现的。首先要加载公司的所有部门,树形结构,然后点击进入部门的人员列表,点击人员能查看详细信息
- 本文实例讲述了C#二进制序列化的方法。分享给大家供大家参考。具体如下:using System.Runtime.Serialization.
- 1、配置maven环境变量,将maven安装的bin⽬录添加到path路径中(此电脑->属性->高级系统设置->环境变量-
- 前言SQL注入漏洞作为WEB安全的最常见的漏洞之一,在java中随着预编译与各种ORM框架的使用,注入问题也越来越少。新手代码审计者往往对J
- springcloud多个消费端重复定义feign clientspring cloud消费端调用服务提供者,有两种方式rest+ribbo
- 一、APP端调用1、注册广播监听查找结果//蓝牙发现设备和查找结束广播IntentFilter intentFilter = new Int
- 实例如下://记录上一次滑动的positionOffsetPixels值 private int lastValue = -1;
- .NET开发人员首选的方法,通过COM组件调用Office软件本身来实现文件的创建和读写,但是数据量较大的时候异常缓慢;如下代码所示已经做了
- 上篇文章给大家介绍了springboot对接第三方微信授权及获取用户的头像和昵称等等1 账户注销1.1 在SecurityConfig中加入
- 本文实例讲述了C#从windows剪贴板获取并显示文本内容的方法。分享给大家供大家参考。具体如下:using System;using Sy
- 本文实例为大家分享了Winform实现石头剪刀布游戏的具体代码,供大家参考,具体内容如下新建一个windows窗体程序,用数字1代表石头,用
- 引言最新有一个winform项目使用的是DevExpress的控件,所以最近都在摸索使用这套控件,实在是佩服整套控件的强大,同时代码写起来也
- 流,就是一系列的数据。当不同介质之间有数据交互的时候,JAVA就使用流来实现。数据源可以是文件,还可以是数据库、网络甚至其他的程序。比如读取
- 1. 启动 Redis Server启动 redis server,如下图所示,端口号 6379:2. 工程实例2.1 工程目录工程目录如下
- class MyThreadScopeData { // 单例 &nbs
- NPOI 2.0将DataTable对象转换为Excel 2007文件提供下载using NPOI.SS.UserModel;using N
- 线程池模型一般的池化模型会有两个方法,用于获取资源和释放资源,就像这样:public interface XXPool{ &n
- 字典表示一种复杂的数据结构,这种数据结构允许按照某个键来访问元素。字典也称为映射或散列表。字典的主要特性是能根据键快速查找值。也可以自由添加
- 1.可见性通常,我们无法保证执行读操作的线程能看到其他线程写入的值,因为每个线程都由自己的缓存机制。为了确保多个线程之间对内存写入操作的可见
- 本文介绍了java web每天定时执行任务,分享给大家,具体如下:第一步:package com.eh.util;import java.u