欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springMVC返回復(fù)雜的json格式數(shù)據(jù)方法

 更新時(shí)間:2018年03月27日 10:08:08   作者:eakom  
下面小編就為大家分享一篇springMVC返回復(fù)雜的json格式數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

一、springMVC返回json格式數(shù)據(jù)常用的寫法是使用@ResponseBody注解,在每一個(gè)方法前加上這個(gè)注解,springMVC的json解析機(jī)制會(huì)自動(dòng)把返回值(Object類型的對(duì)象)轉(zhuǎn)換為json格式的數(shù)據(jù),如果返回的json對(duì)象比較復(fù)雜,每一個(gè)方法都要定義很多對(duì)象,會(huì)給開(kāi)發(fā)帶來(lái)很大的工作量,以下介紹一種方法,直接使用json對(duì)象設(shè)置數(shù)據(jù)并放回。

二、當(dāng)遇到以下json格式數(shù)據(jù)是,如果差用@ResponseBody方式需要?jiǎng)?chuàng)建多個(gè)Java對(duì)象。

{
  "total":2,
  "list":[
    {
      "person":{"name":"eakom0","key":0},
      "msg":{"cod":0,"name":"eakom0"}
    },
    {
      "person":{"name":"eakom1","key":1},
      "msg":{"cod":1,"name":"eakom1"}
    }
  ],
  "attachment":{"name":"附件","version":1}
}

如果采用拼接方式,直接采用JsonObject拼接,不用創(chuàng)建對(duì)象返回,代碼如下:

@RequestMapping("returnJson")
  public void returnJson (HttpServletRequest request, HttpServletResponse response){
      JSONObject json = new JSONObject(); 
      json.element("total", 2);
      List<Map<String,JSONObject>> list=new ArrayList<Map<String,JSONObject>>();
      for(int i=0;i<2;i++){
        JSONObject person=new JSONObject();
        person.element("name", "eakom"+i);
        person.element("key", i);
        JSONObject msg=new JSONObject();
        msg.element("name", "eakom"+i);
        msg.element("cod", i);
        Map<String,JSONObject> map=new HashMap<String,JSONObject>();
        map.put("person", person);
        map.put("msg", msg);
        list.add(map);
      }
      json.element("list", list);
      JSONObject attachment=new JSONObject();
      attachment.element("name", "附件");
      attachment.element("version", 1);
      json.element("attachment", attachment);
      responseDatagrid(response, json);
  }
  public void responseDatagrid(HttpServletResponse response, JSONObject jObject) {
    response.setContentType("application/json");
    response.setHeader("Cache-Control", "no-store");
    try {
      PrintWriter pw=response.getWriter();
      pw.write(jObject.toString());
      pw.flush();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

三、用這種放返回json,在編輯代碼時(shí)結(jié)構(gòu)不清晰,不是特殊情況,不建議使用。

以上這篇springMVC返回復(fù)雜的json格式數(shù)據(jù)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中的字符串用法小結(jié)

    Java中的字符串用法小結(jié)

    這篇文章主要介紹了Java中的字符串用法,實(shí)例總結(jié)了java中關(guān)于字符串操作的各種常用的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • MyEclipse10安裝Log4E插件

    MyEclipse10安裝Log4E插件

    這篇文章主要介紹了MyEclipse10安裝Log4E插件的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • Mybatis的SqlRunner執(zhí)行流程實(shí)現(xiàn)

    Mybatis的SqlRunner執(zhí)行流程實(shí)現(xiàn)

    MyBatis提供了一個(gè)用于操作數(shù)據(jù)庫(kù)的SqlRunner工具類,對(duì)JDBC做了很好的封裝,本文主要介紹了Mybatis的SqlRunner執(zhí)行流程實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • IDEA main主函數(shù)如何添加args變量

    IDEA main主函數(shù)如何添加args變量

    這篇文章主要介紹了IDEA main主函數(shù)如何添加args變量,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Java微信分享接口開(kāi)發(fā)詳解

    Java微信分享接口開(kāi)發(fā)詳解

    這篇文章主要為大家詳細(xì)介紹了Java微信分享接口開(kāi)發(fā)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 利用MyBatis-Plus靈活處理JSON字段的技巧與最佳實(shí)踐

    利用MyBatis-Plus靈活處理JSON字段的技巧與最佳實(shí)踐

    這篇文章主要給大家介紹了關(guān)于利用MyBatis-Plus靈活處理JSON字段的技巧與最佳實(shí)踐,Mybatis-Plus可以很方便地處理JSON字段,在實(shí)體類中可以使用@JSONField注解來(lái)標(biāo)記JSON字段,需要的朋友可以參考下
    2024-07-07
  • 深入剖析Java ReentrantLock的源碼

    深入剖析Java ReentrantLock的源碼

    ReentrantLock和Synchronized都是Java開(kāi)發(fā)中最常用的鎖,與Synchronized這種JVM內(nèi)置鎖不同的是,ReentrantLock提供了更豐富的語(yǔ)義。本文就來(lái)深入剖析一下ReentrantLock源碼,需要的可以參考一下
    2022-11-11
  • java 函數(shù)的重載和重寫實(shí)例代碼

    java 函數(shù)的重載和重寫實(shí)例代碼

    本文主要介紹Java 的重載和重寫,學(xué)習(xí)java的同學(xué)都知道Java的多態(tài)有多重要,這里給大家舉例說(shuō)明函數(shù)的重載和重寫,希望能幫助有需要的小伙伴
    2016-07-07
  • Spring Boot面試題總結(jié)

    Spring Boot面試題總結(jié)

    這篇文章主要介紹了Spring Boot面試題總結(jié),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • IDEA2022性能優(yōu)化的一些設(shè)置技巧

    IDEA2022性能優(yōu)化的一些設(shè)置技巧

    這篇文章主要介紹了IDEA2022性能優(yōu)化的一些設(shè)置,需要的朋友可以參考下
    2022-08-08

最新評(píng)論