1. 程式人生 > 實用技巧 >Java中的物件與Json字串互轉

Java中的物件與Json字串互轉

Java中的物件與Json字串互轉

  • 物件、List、Map轉Json字串:JSONObject.toJSONString();

  • Json字串轉物件:JSONObject.parseObject(userStr,XXX.class);

  • Json字串轉List:JSONArray.parseArray(arrayStr,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}