object與map與json之間的相互轉換
阿新 • • 發佈:2021-07-14
1、jar
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.70</version> <exclusions> <exclusion> <groupId>*</groupId> <artifactId>*</artifactId></exclusion> </exclusions> </dependency>
2、實體類
//按順序解析JSON.toJSONString /* 第一種:通過在實體類新增@JSONType(orders={"name","age","gender","height","weight"}) 第二種:在屬性上新增@JSONField(ordinal = 1) */ @JSONType(orders={"userName","passWord"}) public class User { private String userName;private String passWord;
一、Object與Json之間的相互轉換
@Test public void test1(){ //1、Java物件轉化為json字串 User user = new User("胡胡", "123"); String userJson = JSON.toJSONString(user); System.out.println("Java物件轉化為json字串" + userJson); //2、json字串轉化為Java物件 String jsonString1 = "{\"passWord\":\"123\",\"userName\":\"胡胡\"}"; String jsonString2= "{'passWord':'123','userName':'胡胡'}"; User userObject = JSON.parseObject(jsonString1, User.class); System.out.println("json字串轉化為Java物件" + userObject); }
二、Map與Json之間的相互轉換
@Test public void test2(){ //1、map物件轉為json字串 HashMap<String, String> map = new HashMap<>(); map.put("胡胡","123"); map.put("胡胡胡","1234"); String jsonString = JSONObject.toJSONString(map); System.out.println("map物件轉為json字串"+jsonString); //2、json字串轉為map物件 String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}"; Map mapTypes = JSON.parseObject(str); Map<Integer,String> mmap = new HashMap<Integer,String>(); for (Object obj : mapTypes.keySet()){ mmap.put(Integer.parseInt((String)obj), (String) mapTypes.get(obj)); } System.out.println("json字串轉為map物件"+mmap); }