本文主要以一個簡單的小例子,簡述SpringMVC開發中,Json的相關應用,僅供學習分享使用,如有不足之處,還請指正。 ...
本文主要以一個簡單的小例子,簡述SpringMVC開發中,Json的相關應用,僅供學習分享使用,如有不足之處,還請指正。
什麼是Json ?
- JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation),是輕量級的文本數據交換格式,比 XML 更小、更快,更易解析。
- JSON 獨立於語言:JSON 使用 Javascript語法來描述數據對象,但是 JSON 仍然獨立於語言和平臺。
- JSON 具有自我描述性,更易理解。
SpringMVC支持Json操作步驟
在SpringMVC支持註解的基礎之上,需要支持Json格式返回數據,步驟如下:
1. 導入jackson的三個支持的包(如果沒有導入包,會報406錯誤)
需要導入的Jar包如下:
1 //三個需要需要人的jackson包 2 jackson-annotations-2.2.1.jar 3 jackson-core-2.2.1.jar 4 jackson-databind-2.2.1.jar
2. 在方法上增加一個註解@ResponseBody
如下所示:
1 /** 2 * 如果要返回Json,需要增加註解@ResponseBody,否則會當成路徑返回 3 * 如果返回406錯誤,則是包缺失 4 * @return 5 */ 6 @RequestMapping("/json01") 7 @ResponseBody 8 public String json01(){ 9 System.out.println("json 被調用。。。。。"); 10 return "Hello world!!!"; 11 }
3. 訪問
打開瀏覽器,輸入網址,如下所示:
SpringMVC返回不同類型的Json
1. 返回數組
如下所示,直接返回String[]即可。
1 /** 2 * 返回數組 3 * @return 4 */ 5 @RequestMapping("/json02") 6 @ResponseBody 7 public String[] json02(){ 8 System.out.println("json 被調用。。。。。"); 9 String[] arr=new String[]{"小明","小花"}; 10 return arr; 11 }
頁面如下所示:
2. 返回類對象
如下所示:直接返回User對象
1 /** 2 * 返回對象 3 * @return 4 */ 5 @RequestMapping("/json03") 6 @ResponseBody 7 public User json03(){ 8 System.out.println("json 被調用。。。。。"); 9 User user=new User(1l,"張三",3,new Date()); 10 return user; 11 }
如下圖所示:返回的是Json格式的對象
如果返回的對象中有日期格式,則需要處理返回的格式
1 /** 2 * 從後臺到前臺,設置的格式 3 * @return 4 */ 5 @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") 6 public Date getDate() { 7 return date; 8 } 9 10 /** 11 * 從前臺到後臺,接收時設置參數格式 12 * @param date 13 */ 14 @DateTimeFormat(pattern="yyyy-MM-dd") 15 public void setDate(Date date) { 16 this.date = date; 17 }
3. 返回對象列表
如下所示:返回的是List<User>對象列表
1 /** 2 * 返回對象列表 3 * @return 4 */ 5 @RequestMapping("/json04") 6 @ResponseBody 7 public List<User> json04(){ 8 System.out.println("json 被調用。。。。。"); 9 List<User> lst=new ArrayList<User>(); 10 User zs=new User(1l,"張三",3,new Date()); 11 User ls=new User(2l,"李四",4,new Date()); 12 User ww=new User(3l,"王五",5,new Date()); 13 lst.add(zs); 14 lst.add(ls); 15 lst.add(ww); 16 return lst; 17 }
如下圖所示:返回的是一個對象的數組
備註
莫聽穿林打葉聲,何妨吟嘯且徐行。竹杖芒鞋輕勝馬,誰怕?一蓑煙雨任平生。