java如何簡(jiǎn)單快速處理json中的數(shù)據(jù)-創(chuàng)新互聯(lián)

java如何簡(jiǎn)單快速處理 json 中的數(shù)據(jù),相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

成都創(chuàng)新互聯(lián):自2013年創(chuàng)立以來(lái)為各行業(yè)開(kāi)拓出企業(yè)自己的“網(wǎng)站建設(shè)”服務(wù),為上千余家公司企業(yè)提供了專(zhuān)業(yè)的成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站推廣服務(wù), 專(zhuān)業(yè)公司由設(shè)計(jì)師親自精心設(shè)計(jì),設(shè)計(jì)的效果完全按照客戶的要求,并適當(dāng)?shù)奶岢龊侠淼慕ㄗh,擁有的視覺(jué)效果,策劃師分析客戶的同行競(jìng)爭(zhēng)對(duì)手,根據(jù)客戶的實(shí)際情況給出合理的網(wǎng)站構(gòu)架,制作客戶同行業(yè)具有領(lǐng)先地位的。

JSONstr.json的runners字段是子文檔,子文檔有3個(gè)字段:horseId、ownerColours、trainer,其中trainer含有下級(jí)字段trainerId。需要根據(jù)文檔序號(hào)查詢對(duì)應(yīng)子文檔的horseId、ownerColours、trainerId字段。部分源數(shù)據(jù)如下:

[

   {

      "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結(jié)構(gòu)化后的效果:

java如何簡(jiǎn)單快速處理 json 中的數(shù)據(jù)

Java只提供了解析Json的基礎(chǔ)類(lèi)庫(kù),但API接口多而繁瑣,如果想進(jìn)行深入的計(jì)算,仍然需要復(fù)雜硬編碼。大概要寫(xiě)成這樣:

...

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會(huì)簡(jiǎn)單很多,它把Json類(lèi)庫(kù)做了二次封裝,且有豐富強(qiáng)大的集合運(yùn)算能力,所以很容易應(yīng)對(duì)。比如上面問(wèn)題,取出第 1 個(gè) runners 字段 (子文檔),僅需3行:


A

1

=json(file("/workspace/JSONstr.json").read())

2

=A1(1).runners

3

=A2.new(horseId,trainer.trainerId:trainerId,ownerColours)

Json 解析出來(lái)一般都是為了計(jì)算,所以 SPL 還能更方便地計(jì)算,比如:按 horseId 分組統(tǒng)計(jì)每組中 ownerColours 出現(xiàn)的次數(shù);只需在此基礎(chǔ)上增加 1 行:=A3.groups(horseId;~.array().count():times)。

看完上述內(nèi)容,你們掌握java如何簡(jiǎn)單快速處理 json 中的數(shù)據(jù)的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

新聞名稱:java如何簡(jiǎn)單快速處理json中的數(shù)據(jù)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://bm7419.com/article12/ijsgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、搜索引擎優(yōu)化、定制網(wǎng)站企業(yè)網(wǎng)站制作、Google網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)