<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                [TOC] #### 一、后臺實現ApiDataConvertAdapter接口 ``` pageList為自定義的集合對象,如圖一 注意:如果不需要的可以不用實現,如分頁(getTotal、getCount就不用實現) ``` ``` /** * @program: jimureport-demo * @description: 編寫適配器,實現ApiDataConvertAdapter * @date 2021-06-03 */ @Component("customParser") public class MyApiDataConvertAdapter implements ApiDataConvertAdapter { /** * 返回list數據集,轉換成積木報表需要格式{},沒有嵌套 * 注意:需要json格式,不用data包裹起來了 * @param jsonObject 接口數據原始對象 * @return */ @Override public String getData(JSONObject jsonObject) { if(jsonObject.containsKey("pagelist")){ JSONArray pageList = jsonObject.getJSONArray("pagelist"); JSONArray array = new JSONArray(); for (int i = 0; i < pageList.size(); i++) { JSONObject object = new JSONObject(); String name = pageList.getJSONObject(i).getString("name"); String id = pageList.getJSONObject(i).getString("id"); String zhicheng = pageList.getJSONObject(i).getString("zhicheng"); JSONArray fuze = pageList.getJSONObject(i).getJSONArray("fuze"); for (int j = 0; j < fuze.size(); j++) { String banji = fuze.getJSONObject(j).getString("banji"); String xueke = fuze.getJSONObject(j).getString("xueke"); object.put("name",name); object.put("id",id); object.put("zhicheng",zhicheng); object.put("banji",banji); object.put("xueke",xueke); array.add(object); } } return array.toJSONString(); }else{ return ""; } } /** * 返回links(沒有圖表屬性可以刪掉) * @param jsonObject 接口數據原始對象 * @return */ @Override public String getLinks(JSONObject jsonObject) { return jsonObject.containsKey("links") ? jsonObject.get("links").toString() : ""; } /** * 返回總頁數(沒有分頁可以刪掉) * @param jsonObject 接口數據原始對象 * @return */ @Override public String getTotal(JSONObject jsonObject) { return jsonObject.containsKey("pageNumber") ? jsonObject.get("pageNumber").toString() : "0"; } /** * 返回總條數(沒有分頁可以刪掉) * @param jsonObject 接口數據原始對象 * @return */ @Override public String getCount(JSONObject jsonObject) { return jsonObject.containsKey("count") ? jsonObject.get("count").toString() : "0"; } } ``` ![](https://img.kancloud.cn/ec/bd/ecbd6edc2ce1edd6fc43fe4bdd30af80_1919x1079.gif =1550x) :-: 圖一 #### 二、前臺調用格式轉換器,方便每一個api都有不同的轉換器 ##### 1.api數據集中填寫轉換器,如圖二, ##### 2.對應后臺@Component括號里面的,如圖三 ![](https://img.kancloud.cn/92/7b/927be36adbdcdadee31d1bcb4b4911e9_1891x420.png) :-: 圖二 ![](https://img.kancloud.cn/97/b9/97b9b4ccc6f5c25568d4c748230901c8_1919x1079.gif =1550x500) :-: 圖三 ##### 3.點擊解析api即可 ![](https://img.kancloud.cn/f7/e1/f7e189d8b809d348f1cc992d5e6415db_1449x831.png) #### 三、注意事項 在使用這個轉換器之前需要了解一個前提: **API接口返回的數據格式嚴格限制,必須如下:** ![](https://img.kancloud.cn/28/95/28958c771067c3224ff7cf12f301ac10_371x307.png) - total(總頁數)和count(總條數)在不分頁的情況下可以不提供 - data**必須**是一個數組(集合),數組的每個元素中的屬性值必定為字符串或數值,即不支持嵌套對象。 > 當我們api返回的數據與積木報表不匹配的時候,那么我們就需要做一下api轉換,**轉換成系統可識別的數據格式**,即上述格式,本章已重寫getData方法為例,具體操作步驟如下 1、返回后臺接口的部分json ``` { "pagelist": [ { "zhicheng": "教師", "name": "張三", "fuze": [ { "xueke": "數學", "id": "00", "banji": "0班" }, { "xueke": "數學", "id": "01", "banji": "0班" } ] } ] } ``` 2、需要組成成最后結果的部分json ``` [ { "xueke": "數學", "zhicheng": "教師", "name": "張三", "id": "00", "banji": "0班" }, { "xueke": "數學", "zhicheng": "教師", "name": "張三", "id": "01", "banji": "0班" } ] ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看