package com.example.demo.controller; import com.example.demo.entity.User; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; import java.util.*; @Controller public class UserController { @Autowired private ObjectMapper mapper; /** * jackson树遍历 * @return */ @RequestMapping(value="/readTree",method= RequestMethod.POST) @ResponseBody public String readTree(){ try{ String str = "{\"name\":\"wes\",\"age\":10}"; JsonNode node = mapper.readTree(str); String name = node.get("name").asText(); Integer age = node.get("age").asInt(); return "name:"+name+",age:"+age; }catch (Exception e) { System.out.println(e.getMessage()); } return null; } /** * jackson json绑定对象 * @return */ @RequestMapping(value="/readValue",method= RequestMethod.POST) @ResponseBody public String readValue(){ try{ String json = "{\"name\":\"wes\",\"id\":10}"; User user = mapper.readValue(json,User.class); return "name:"+user.getName()+",id:"+user.getId(); }catch (Exception e) { System.out.println(e.getMessage()); } return null; } /** * jackson 将POJO序列化成json * @return */ @RequestMapping(value="/writeValueAsString",method= RequestMethod.POST) @ResponseBody public String writeValueAsString(){ try{ User user = new User(); user.setId("1"); user.setName("张三"); String json = mapper.writeValueAsString(user); return json; }catch (Exception e) { System.out.println(e.getMessage()); } return null; } }