Jackson是一個Java基于JSON格式的流處理器,風(fēng)格類似于StAX,它被設(shè)計為可以靈活的處理任何JSON輸入或輸出。Jackson能夠?qū)ava對象序列化成JSON字符串,并且可以將JSON字符串轉(zhuǎn)換為Java對象。Jackson的map to json功能可使Java Map對象快速轉(zhuǎn)換為JSON字符串。
Mapmap = new HashMap<>(); map.put("name", "張三"); map.put("age", 20); map.put("gender", "男"); ObjectMapper objectMapper = new ObjectMapper(); String json = objectMapper.writeValueAsString(map); System.out.println(json); // 輸出結(jié)果:{"gender":"男","name":"張三","age":20}
以上代碼中,我們首先構(gòu)建一個Java Map對象,并向其中添加一些鍵值對。然后使用Jackson的ObjectMapper類將Map對象序列化為JSON字符串。最后輸出生成的JSON字符串。
除了將Java Map對象序列化為JSON字符串,Jackson還支持將JSON字符串反序列化成Java Map對象。
String json = "{\"name\":\"李四\",\"age\":25,\"gender\":\"女\"}"; ObjectMapper objectMapper = new ObjectMapper(); Mapmap = objectMapper.readValue(json, new TypeReference
以上代碼中,我們首先構(gòu)造一個包含JSON鍵值對的JSON字符串。然后使用Jackson的ObjectMapper類將JSON字符串反序列化為Java Map對象。最后輸出反序列化出的Java Map對象。
總之,Jackson作為一個流處理器,可以靈活的處理任何JSON輸入和輸出,并且在處理Java Map對象與JSON字符串之間的轉(zhuǎn)換上也表現(xiàn)出色。