這篇文章主要介紹“BIRT如何使用rest api接口獲取json做報表”,在日常操作中,相信很多人在BIRT如何使用rest api接口獲取json做報表問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”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("http://yourapi/endpoint/" + 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進行報表展現。從此示例來看,相比較于常規辦法,實現同樣的算法只需更少的代碼,分步執行調試也方便。
到此,關于“BIRT如何使用rest api接口獲取json做報表”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!
新聞標題:BIRT如何使用restapi接口獲取json做報表
URL網址:http://m.kartarina.com/article12/jecogc.html
成都網站建設公司_創新互聯,為您提供營銷型網站建設、虛擬主機、企業網站制作、軟件開發、App設計、云服務器
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯