Java中的对象与Json字符串互转
-
对象、List、Map转Json字符串:JSONObject.toJSONString();
-
Json字符串转对象:JSONObject.parseObject(userStr,XXX.class);
-
-
Json字符串转Map:JSONObject.parseObject(mapStr,Map.class);
User类
1 package com.serialization; 2 3 import lombok.Data; 4 import lombok.ToString; 5 6 @Data 7 @ToString 8 public class User { 9 /** 10 * 用户ID 11 */ 12 private String userId; 13 /** 14 * 用户名称 15 */ 16 private String userName; 17 /** 18 * 用户年龄 19 */ 20 private Integer age; 21 }
MainApp类
1 public class MainApp { 2 public static void main(String[] args) { 3 User user = new User(); 4 user.setUserId("1001"); 5 user.setUserName("YoYo"); 6 user.setAge(1000); 7 //对象转Json字符传 8 String userJson=JSONObject.toJSONString(user); 9 System.out.println("Object to Json: " + userJson); 10 11 //List转Json字符串 12 List<User> list=new ArrayList<>(); 13 list.add(user); 14 String userListJson= JSONObject.toJSONString(list); 15 System.out.println("List to Json: "+userListJson); 16 17 //Map转Json字符串 18 Map<String,Object> map=new HashMap<>(); 19 map.put("name","YOYO"); 20 map.put("type","CAR"); 21 String mapJson=JSONObject.toJSONString(map); 22 System.out.println("Map to Json: "+mapJson); 23 24 String userStr="{"age":1000,"userId":"1001","userName":"YoYo"}"; 25 //对象Json字符串转对象 26 User user1=JSONObject.parseObject(userStr,User.class); 27 System.out.println("Json(Object) to Object: "+user1); 28 29 //List Json字符串转List 30 String arrayStr="[{"age":1000,"userId":"1001","userName":"YoYo"}]"; 31 List<User> list1= JSONArray.parseArray(arrayStr,User.class); 32 System.out.println("Json(List) to List: "+list1); 33 34 //Map Json字符串转Map 35 String mapStr="{"name":"YOYO","type":"CAR"}"; 36 Map<String,String>map1=JSONObject.parseObject(mapStr,Map.class); 37 System.out.println("Json(Map) to List: "+map1); 38 } 39 }
执行结果
Object to Json: {"age":1000,"userId":"1001","userName":"YoYo"}
List to Json: [{"age":1000,"userId":"1001","userName":"YoYo"}]
Map to Json: {"name":"YOYO","type":"CAR"}
Json(Object) to Object: User(userId=1001, userName=YoYo, age=1000)
Json(List) to List: [User(userId=1001, userName=YoYo, age=1000)]
Json(Map) to List: {name=YOYO, type=CAR}