BIRT 如何用 rest api 介面獲取 json 做報表
BIRT中不能構建JSON資料來源,雖然一些開源社群提供瞭解析JSON資料來源外掛,但幾乎所有外掛都非常底層,並且使用起來很不方便,因此並不值得推薦。
BIRT的常規辦法是建立一個“指令碼資料來源”,在該指令碼源上連線到URL並自行解析結果,但指令碼寫起來非常麻煩,而且工作量很大。
比如要處理這麼個場景:根據傳入引數,呼叫REST API,返回巢狀的JSON資料,部分資料格式如下:
[ { "id": 1000, "content": "It is too hot", "comment": [ { "author": "joe", "score": 3, "comment": "just so so!" }, { "author": "jimmy", "score": 5, "comment": "cool! good!" } ] } ... ] |
期望解析後的效果:
BIRT使用open()方法建立指令碼化資料來源,如下所示:
... importPackage(Packages.java.io); importPackage(Packages.java.net); var param= params["industryname"].value; var inStream = new URL(" + param).openStream(); var inStreamReader = new InputStreamReader(inStream); var bufferedReader = new BufferedReader(inStreamReader); var line; var result = ""; while ((line = bufferedReader.readLine()) != null) result += line; inStream.close(); var json = JSON.parse(result); vars["HTMLJSON"] = json; logger.warning (result); ... |
建議使用集算器,它將HTTP服務的url串的返回結果封裝成檔案流,可直接解析JSON格式字串並結構化為序表。集算器精心設計了一套集合運算領域的函式庫,以應對結構化後的各類運算,比如分組、排序、過濾、聚合、連線等,不再需要第三方資料庫來協助。比如上面的問題,集算器指令碼只需3行:
|
A |
1 |
=httpfile("http://yourapi/endpoint/servlet/testServlet?table=blog&type=json") |
2 |
=json(file(A1).read()) |
3 |
=A2.news(comment;id,content,${A2.comment.fname().concat@c()}) |
最後將計算結果返回給BIRT的DataSet進行報表展現。從此示例來看,相比較於常規辦法,實現同樣的演算法只需更少的程式碼,分步執行除錯也方便。
其實還有很多類似的計算問題不太方便,但有集算器SPL的輔助卻很簡單,感興趣可以參考:
集算器提供了JDBC驅動,可以很方便的與BIRT等報表工具整合, 有使用和獲得它的方法。
關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2698933/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- shell請求api,獲取json返回值,做判斷APIJSON
- BIRT 中文字與 JSON 關聯怎麼做JSON
- 介面測試之 json 中的 key 獲取JSON
- 介面測試之json中的key獲取JSON
- 詳情API介面上貨搬運獲取資訊API介面API
- 教你如何使用API介面獲取資料!API
- API介面獲取搜尋詞統計?API
- 如何用R和API免費獲取Web資料?APIWeb
- 使用API介面獲取拼多多商品詳情API
- elasticsearch常用請求介面Rest API示例ElasticsearchRESTAPI
- 用Java使用API介面獲取Lazada商品詳情JavaAPI
- 使用商品詳情API介面獲取商品資料API
- 如何使用API介面獲取淘寶商品資料API
- API介面的運用場景以及獲取方式API
- 使用CURL獲取速賣通詳情的API介面API
- 用PHP使用API介面獲取蝦皮商品詳情PHPAPI
- 使用Python呼叫API介面獲取淘寶商品資料PythonAPI
- 如何利用電商API介面來獲取商品資料API
- 如何教會小白使用API介面獲取商品資料API
- Temu api介面 獲取商品詳情 資料採集API
- API介面的藝術:如何巧妙獲取商品資料API
- 如何利用API介面獲取電商平臺資料?API
- 拼多多商品資料如何透過api介面獲取API
- 如何使用API介面獲取商品資料,從申請API介面、使用API介面到實際應用,一一講解API
- 智慧手環報文資料API獲取API
- 阿里巴巴國際站API詳情介面獲取商品詳情介面阿里API
- rest apiRESTAPI
- 如何高效地利用淘寶API介面獲取商品資料API
- 教您如何使用API介面獲取拼多多商品詳情API
- 為什麼要透過API介面來獲取資料API
- 使用Python開發獲取商品銷量詳情API介面PythonAPI
- 一生財運三世書財運測算api介面免費版_json格式資料獲取APIJSON
- 淘寶訂單資訊獲取介面API,淘寶打單發貨介面API
- jqGrid獲取json資料方法JSON
- 如何教會小白使用淘寶API介面獲取商品資料API
- 呼叫API介面獲取淘寶商品評論:方法與實戰API
- 使用API介面獲取商品資料:從入門到實踐API
- API介面在電商商品資料獲取中的應用API