java中json轉化成物件,物件轉化成json
阿新 • • 發佈:2018-11-28
首先要帶入第三方工具類jar包 gson
1,普通類:
public void test() {
//1、建立Gson物件
Gson gson = new Gson();
User user = new User(1, "liujinghan", "123456", "[email protected]");
//2、呼叫toJson(Object)將物件轉為字串
String json = gson.toJson(user);
//{"id":1,"username":"liujinghan","password":"123456","email":" [email protected]"}
System.out.println(json);
//3、將json字串封裝為java物件[json字串 的屬性名要和javabean的屬性一樣]
User user2 = gson.fromJson(json, User.class);
System.out.println(user2);
}
2,Map陣列形式
public void test1() { Map map = new HashMap(); map.put("name", "laolu"); map.put("age", 18); Gson gson = new Gson(); String json = gson.toJson(map); System.out.println(json); //將json字串轉為map Gson將int型別資料轉換時會轉為double型別 Map map2 = gson.fromJson(json, Map.class); System.out.println(map2); }
3,List陣列的形式:
public void test2() {
List<User> list = new ArrayList<User>();
list.add(new User(1, "liujinghan1", "123456", "[email protected]"));
list.add(new User(2, "liujinghan2", "123456", "[email protected]"));
list.add(new User(3, "liujinghan3", "123456", "[email protected] "));
list.add(new User(4, "liujinghan4", "123456", "[email protected]"));
Gson gson = new Gson();
//會將list轉為一個json陣列,每個元素就對應一個java物件
String json = gson.toJson(list);
System.out.println(json);
List list2 = gson.fromJson(json,List.class);
System.out.println(list2.get(0));