java 如何簡單快速處理 json 中的資料
JSONstr.json的runners欄位是子文件,子文件有3個欄位:horseId、ownerColours、trainer,其中trainer含有下級欄位trainerId。需要根據文件序號查詢對應子文件的horseId、ownerColours、trainerId欄位。部分源資料如下:
[ { "race": { "raceId":"1.33.1141109.2", "meetingId":"1.33.1141109" }, ... "numberOfRunners": 2, "runners": [ { "horseId":"1.00387464", "trainer": { "trainerId":"1.00034060" }, "ownerColours":"Maroon,pink sleeves,dark blue cap." }, { "horseId":"1.00373620", "trainer": { "trainerId":"1.00010997" }, "ownerColours":"Black,emerald green cross of lorraine,striped sleeves." } ] }, ... ] |
期望Json結構化後的效果:
Java只提供瞭解析Json的基礎類庫,但API介面多而繁瑣,如果想進行深入的計算,仍然需要複雜硬編碼。大概要寫成這樣:
... JSONObject jsonObject = JSONObject.fromObject(s); JSONArray result = jsonObject.getJSONArray("runners"); for (int i = 0; i < result.size(); i++) { JSONArray index = result.getJSONObject(i).getJSONArray("index"); ... } ... |
Json解析,用集算器SPL會簡單很多,它把Json類庫做了二次封裝,且有豐富強大的集合運算能力,所以很容易應對。比如上面問題,取出第 1 個 runners 欄位 (子文件),僅需3行:
|
A |
1 |
=json(file("/workspace/JSONstr.json").read()) |
2 |
=A1(1).runners |
3 |
=A2.new(horseId,trainer.trainerId:trainerId,ownerColours) |
Json 解析出來一般都是為了計算,所以 SPL 還能更方便地計算,比如:按 horseId 分組統計每組中 ownerColours 出現的次數;只需在此基礎上增加 1 行:=A3.groups(horseId;~.array().count():times)。其實還有很多情況用Java解析Json不太方便,甚至計算入庫等需求,但用集算器SPL卻很簡單,感興趣可以參考: 。
集算器還很容易嵌入到Java應用程式中, 有使用和獲得它的方法。
關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2700773/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java 如何簡單快速處理 xml 中的資料JavaXML
- C#中處理JSON資料的方式C#JSON
- 處理JSON資料JSON
- 處理json格式的資料JSON
- JMeter中對於Json資料的處理方法JMeterJSON
- flutter json資料處理FlutterJSON
- Hive處理Json資料HiveJSON
- Android中JSON資料格式的簡單使用AndroidJSON
- java大資料處理:如何使用Java技術實現高效的大資料處理Java大資料
- Java的簡單理解(22)---處理流Java
- spark處理json資料DemoSparkJSON
- Delphi處理JSON格式資料JSON
- EXCEL的重生!處理百萬行資料竟如此簡單Excel
- 使用Jackson在Java中處理JSONJavaJSON
- 簡述高併發解決思路-如何處理海量資料(中)
- 如何快速簡單的實現 Excel資料按列提取Excel
- Java8 Stream,簡潔快速處理集合(上)Java
- Java8 Stream,簡潔快速處理集合(下)Java
- 簡單的字串處理字串
- 簡單的文字處理
- 串的簡單處理
- Python資料處理(一):處理 JSON、XML、CSV 三種格式資料PythonJSONXML
- 一個簡單易用的資料庫壞塊處理方案資料庫
- 使用Java處理JSON結構化資料 -Advanced Web MachineryJavaJSONWebMac
- Rust中錯誤處理的最簡單指南Rust
- 如何在 PHP 中處理 Protocol Buffers 資料PHPProtocol
- 教你如何處理Oracle資料庫中的壞塊Oracle資料庫
- JSON to Insights:快速而簡單JSON
- JSON簡介(java中的json庫使用)JSONJava
- ThinkPHP+jQuery EasyUI Datagrid查詢資料的簡單處理PHPjQueryUI
- 如何快速處理線上故障
- C++實現對Json資料的友好處理C++JSON
- JAVA簡單的複習資料Java
- 在REST SOE中處理JSONRESTJSON
- java中的事件處理Java事件
- ORACLE的簡單處理高水位Oracle
- 實時計算,流資料處理系統簡介與簡單分析
- jQuery處理json格式資料程式碼例項jQueryJSON