Jackson是一個在Java中操作JSON的高效工具庫。Jackson有兩個核心模塊:jackson-databind和jackson-core。其中,jackson-databind是最重要的一個模塊,它提供了高級的ObjectMapper類用于解析JSON數據。
使用jackson進行JSON與Java對象之間的轉換很簡便。下面是一個將Java對象序列化成JSON字符串的例子:
ObjectMapper mapper = new ObjectMapper(); MyObject obj = new MyObject(); String jsonStr = mapper.writeValueAsString(obj);
上述代碼中,MyObject是一個Java類,我們可以使用ObjectMapper將其轉換成JSON字符串。在這個例子中,我們引用了jackson-databind模塊提供的ObjectMapper類。
接下來,是將JSON字符串轉換成Java對象的例子:
ObjectMapper mapper = new ObjectMapper(); String jsonStr = "{\"name\":\"Tom\",\"age\":18}"; MyObject obj = mapper.readValue(jsonStr, MyObject.class);
在這個例子中,我們使用ObjectMapper類的readValue方法將JSON字符串轉換成Java對象。注意,我們必須指定Java對象的類型。
jackson還提供了許多其他高級特性,如JAXB注解的支持、對象的部分序列化、對象的轉換過濾器等等,這里不再一一列舉。