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}
可以看到我们自定义的名称已经生效了。