Jackson是一個(gè)開源的Java庫,可以輕松實(shí)現(xiàn)Java對象和JSON之間的轉(zhuǎn)換,支持三種數(shù)據(jù)格式:JSON、XML和YAML。
使用Jackson轉(zhuǎn)換Java對象到JSON字符串的方法如下:
ObjectMapper mapper = new ObjectMapper(); String jsonString = mapper.writeValueAsString(object);
上述代碼中,ObjectMapper是Jackson的核心類,用于創(chuàng)建序列化和反序列化Java對象和JSON之間的映射。writeValueAsString方法將Java對象轉(zhuǎn)換為JSON字符串。
同樣地,使用Jackson將JSON字符串轉(zhuǎn)換為Java對象的方法如下:
ObjectMapper mapper = new ObjectMapper(); Object object = mapper.readValue(jsonString, Object.class);
上述代碼中,readValue方法將JSON字符串轉(zhuǎn)換為Java對象,第二個(gè)參數(shù)表示轉(zhuǎn)換后的對象類型。
Jackson還支持將JSON字符串轉(zhuǎn)換為Java集合類型:
ObjectMapper mapper = new ObjectMapper(); List<Object> list = mapper.readValue(jsonString, new TypeReference<List<Object>>() {});
上述代碼中,使用TypeReference泛型類將JSON字符串轉(zhuǎn)換為List類型的Java對象。
Jackson還支持自定義序列化和反序列化器,可以根據(jù)業(yè)務(wù)需要靈活地處理Java對象和JSON之間的映射關(guān)系。