请选择 进入手机版 | 继续访问电脑版
本站特色:极好的技术研究氛围!所有技术交流,必有回复!

疯狂Java联盟

 找回密码
 加入联盟
查看: 685|回复: 0

Spring Boot2.0连载(32)-- Spring Boot处理JSON数据二

[复制链接]
发表于 2018-5-18 21:21:18 | 显示全部楼层 |阅读模式
更多Spring Boot2.0的知识敬请期待疯狂软件著作《Spring Boot企业应用实战》上市

在实际项目开发中,几乎所有的项目都要用到JSON,本小节我们深入讲解一下JSON在Spring Boot中的使用。
Spring Boo内置了JSON解析功能,默认使用Jackson来自动完成(开发中也可以把Jackson换成是阿里的Fastjson或者其他JSON解析器),当Controller返回的是一个Java对象或者是List集合的时,Spring Boo是自动将其转换成JSON数据,使用起来非常的简单。


测试将集合数据转换成JSON。
getjson.html:
  1. <!DOCTYPE html>
  2. <html xmlns:th="http://www.thymeleaf.org">
  3. <head>
  4. <meta charset="UTF-8"> </meta>
  5. <title>Spring Boot Web开发测试</title>
  6. <link rel="stylesheet" th:href="@{css/bootstrap.min.css}" />
  7. <link rel="stylesheet" th:href="@{css/bootstrap-theme.min.css}"/>
  8. <script type="text/javascript" th:src="@{js/jQuery-1.11.0.min.js}"></script>
  9. <script type="text/javascript" th:src="@{js/bootstrap.min.js}"></script>
  10. <script type="text/javascript">
  11. $(document).ready(function(){
  12.     findBooks ();
  13. });
  14. function findBooks (){
  15.     $.post("/findBooks",null,
  16.             function(data){
  17.         $.each(data,function(){
  18.             var tr  = $("<tr align='center'/>");
  19. $("<img/>").attr("src","images/"+this.image).attr("height",60).appendTo("<td/>").appendTo(tr);
  20.             $("<td/>").html(this.name).appendTo(tr);
  21.             $("<td/>").html(this.author).appendTo(tr);
  22.             $("#booktable").append(tr);
  23.         })
  24.     },"json");
  25. }
  26. </script>
  27. </head>
  28. <body>
  29.     <div class="panel panel-primary">
  30.         <div class="panel-heading">
  31.             <h3 class="panel-title">Spring Boot中集合转换JSON</h3>
  32.         </div>
  33.     </div>
  34.     <div class="container">
  35.         <div class="col-md-12">
  36.             <div class="panel panel-primary">
  37.                 <!-- .panel-heading 面板头信息。 -->        
  38.                 <div class="panel-heading">
  39.                     <!-- .panel-title 面板标题。 -->        
  40.                     <h3 class="panel-title">图书信息列表</h3>
  41.               </div>
  42.               <div class="panel-body">
  43.                 <div class="table table-responsive">
  44.                     <table class="table table-bordered table-hover" id="booktable">
  45.                         <thead>
  46.                             <tr>
  47.                                 <th class="text-center">封面</th >
  48. <th class="text-center">书名</th>
  49.                                  <th class="text-center">作者</th >
  50.                                  </tr>
  51.                         </thead>
  52.                         <tbody class="text-center"></tbody>
  53.                     </table>
  54.                 </div>
  55.             </div>
  56.             </div>
  57.         </div>
  58.     </div>
  59. </body>
  60. </html>
复制代码


getjson.html页面使用jQuery发送请求,页面载入时调用findBooks函数。findBooks函数发送异步请求到“/findBooks”,请求成功将返回一个JSON数据,包含多个书籍信息,接到返回的数据后使用jQuery将数据设置到页面的<table>表单当中。

控制器BookController.java:

  1. @RequestMapping("/findBooks")
  2. public List<Book> findBooks(){
  3.     // 创建集合
  4.     List<Book> books = new ArrayList<Book>();
  5.     // 添加图书对象
  6.     books.add(new Book(1,"疯狂Java讲义","李刚","java.jpg",109.0));
  7.     books.add(new Book(2,"轻量级JavaEE企业应用实战","李刚","ee.jpg",108.0));
  8.     books.add(new Book(3,"Spring MVC企业应用实战","肖文吉","SpringMyBatis.jpg",58.0));
  9.     books.add(new Book(4,"疯狂Android讲义","李刚","android.jpg",108.0));
  10.     books.add(new Book(5,"疯狂Ajax开发","李刚","ajax.jpg",79.0));
  11.     // 返回集合
  12.     return books;
  13. }
复制代码


Spring Boot会将List集合数据转换成JSON格式返回到客户端。




您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

微信群请扫二维码
QQ交流1群:
545923995
(未满)

小黑屋|手机版|Archiver|疯狂Java联盟 ( 粤ICP备11094030号 )

GMT+8, 2020-2-25 10:08 , Processed in 0.271825 second(s), 7 queries , File On.

快速回复 返回顶部 返回列表