当前位置:数码通 > 软件

Bean转json自定义名称

来源于 数码通 2023-10-01 19:52

Bean转JSON是一个很常见的操作,但是有时候我们需要自定义一些字段的名称。下面我们将介绍如何使用Java将Bean转换为JSON并自定义字段名称。

公共课用户{
私有字符串名称;
私有整数年龄;
// 省略 getter 和 setter 方法
}
公共类主要{
公共静态无效主(字符串[] args){
用户用户=新用户();
user.setName("蒂娜");
用户.setAge(18);
Gson gson = new GsonBuilder().setFieldNamingStrategy(new FieldNamingStrategy() {
@覆盖
公共字符串翻译名称(字段字段){
if (field.getName().equals("name")) {
返回“用户名”;
} else if (field.getName().equals("age")) {
返回“使用情况”;
}
返回字段.getName();
}
})。创造();
String userJson = gson.toJson(user);
System.out.println(userJson);
}
}

上面的代码中,我们使用Gson库实现Bean到JSON的转换,并使用FieldNamingStrategy接口自定义一些字段的名称。

具体实现过程为:创建一个GsonBuilder对象,调用setFieldNamingStrategy方法并传入自定义的FieldNamingStrategy对象,最后调用create方法得到一个Gson对象。在自定义FieldNamingStrategy对象的translateName方法中,我们判断字段名称是否符合我们自定义的规则。如果是,则返回自定义名称,否则返回字段名称本身。

运行上述代码,得到的JSON字符串如下:

{"username":"Tina","userage":18}

可以看到我们自定义的名称已经生效了。

登录后参与评论