Bean轉JSON是很常見的操作,但是有些時候我們需要自定義一些字段的名稱。下面我們將介紹如何使用Java實現Bean轉JSON,并自定義字段名稱。
public class User { private String name; private int age; // getter、setter方法省略 } public class Main { public static void main(String[] args) { User user = new User(); user.setName("Tina"); user.setAge(18); Gson gson = new GsonBuilder().setFieldNamingStrategy(new FieldNamingStrategy() { @Override public String translateName(Field field) { if (field.getName().equals("name")) { return "username"; } else if (field.getName().equals("age")) { return "userage"; } return field.getName(); } }).create(); 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}
可以看到,我們自定義的名稱已經生效了。
上一篇mysql保存腳本