<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • Java中JSON文檔解析

          2021-8-17    前端達人

          1.JSON是什么?

          1. JSON的全稱為JavaScript Object Notation ,也就是JavaScript對象標記法。
          2. JSON是一種輕量級的數據交換格式,用于兩個程序之間的數據交換,類似于XML文檔。

          2.JSON對象格式

          使用JSON表示一個對象的格式:

          {
              "屬性名1":"屬性值1",
              "屬性名2":"屬性值2",
              ......
              "屬性名":"屬性值n"
          }  
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6

          注意事項

          • 一個對象整體由一個大括號表示
          • 對象的屬性,是由一個個鍵值對組成
          • 鍵值對的鍵與值之間應該使用冒號隔開,而不同鍵值對之間需要使用逗號隔開
          • 鍵與值最好都使用雙引號,值可以是JavaScript中的任何一種數據類型

          示例

          {
              "name":"金蘋果",
              "info":"講述了種植蘋果的辛酸歷程"
          }  
          
          • 1
          • 2
          • 3
          • 4

          3.JSON數組表示

          JSON中的數組使用 [ ] 表示,并且數組可以跟對象互相嵌套

          格式:

          [元素1,元素2...]  
          
          • 1

          示例:

          數組包含對象

           ["張三","李四",{
                  "name":"王五",
                  "info":"一個在技術上使勁鉆研的人"
              }]  
          
          • 1
          • 2
          • 3
          • 4

          對象包含數組:

          {
              "name":"李小超",
              "friend":["張三","李四",
                        {
                          "name":"王五",
                          "info":"一個在技術上使勁鉆研的人"
                      }
                       ]
              "info":"一個非常帥氣的人"
          }  
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10

          對象與對象的嵌套:

          {
              "name":"李小超",
              "project":{
                  "school":"HPU",
                  "name":"computer"
              }
          }  
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7

          4.JSON的解析

          1. 使用Gson解析JSON文件

          1. 將Java對象轉換為JSON字符串

            String json = new Gson().toJSON(要轉換的對象);  
                    
            • 1

            代碼示例:

            Book b = new Book("金蘋果","講述了種植蘋果的辛酸路程"); String str = new Gson().toJson(b);  
                    
            • 1
            • 2
          2. 將JSON字符串轉換為Java對象

            對象 = new Gson().fromJson(JSON字符串,對象類型.class);  
                    
            • 1

            代碼示例:

            1. 將JSON字符串轉換為Java對象
             Book b2 = new Gson().fromJson(str, Book.class); System.out.println(b2.getName());  
                    
            • 1
            • 2
            1. 將JSON字符串轉換為Java集合
            String js = "{\"name\":\"金蘋果\",\"info\":\"講述了種植蘋果的辛酸歷程\",\"page\":[\"鋤禾日當午\",\"汗滴禾下土\"]}"; HashMap data = new Gson().fromJson(js,HashMap.class); System.out.println(data.get("page").getClass()); /*
                輸出結果:class java.util.ArrayList
            */  
                    
            • 1
            • 2
            • 3
            • 4
            • 5
            • 6
            • 7

            我們在寫JSON字符串的時候,需要注意使用轉義字符轉換雙引號,另外,如果鍵值對的值是JSON數組,那么對應數組在轉換之后的類型是ArrayList

          2. 使用fastJson解析JSON文件

          使用fastJSON解析與Gson十分相似,不過前者使用的是靜態方法。

          1. Java對象轉換為JSON字符串

            String json=JSON.toJSONString(要轉換的對象);  
                    
            • 1
          2. JSON字符串轉換為Java對象

            類型 對象名=JSON.parseObject(JSON字符串, 類型.class);
            或者
            List<類型> list=JSON.parseArray(JSON字符串,類型.class);  
                    
            • 1
            • 2
            • 3

            示例:
            轉換為Java對象

             Book b2 = JSON.parseObject(json1,Book.class);  
                    
            • 1

            轉換為List集合

            List list = JSON.parseArray(json1,String.class);  
                    
            • 1

            在這里進行說明一下,我們觀察JSON.parseArray()的源碼可以看到,這個方法的返回值就是一個List類型的數據,我們向方法中傳遞的第二個參數是List元素所屬的類型。


            藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼ben_lanlan,報下信息,會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

            文章來源:csdn

            分享此文一切功德,皆悉回向給文章原作者及眾讀者.
            免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

            藍藍設計www.sdgs6788.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務



          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.sdgs6788.com

          存檔

          久久久久亚洲AV无码麻豆| 久久久久国产精品熟女影院| 狠狠久久亚洲欧美专区| 大美女久久久久久j久久| 亚洲国产成人久久一区久久| 精品久久久久久成人AV| 久久这里有精品视频| 久久av无码专区亚洲av桃花岛| 亚洲综合久久综合激情久久| 久久亚洲sm情趣捆绑调教| 久久夜色精品国产亚洲| 国产亚洲美女精品久久久2020| 久久国产精品波多野结衣AV| 久久亚洲精品成人av无码网站| 天天综合久久久网| 伊人久久大香线蕉av一区| 久久精品成人| 久久精品国产精品国产精品污| 99蜜桃臀久久久欧美精品网站| 精品久久久久久国产免费了| 精品国产乱码久久久久久郑州公司 | 奇米影视7777久久精品| 久久久久久综合一区中文字幕| 久久婷婷色香五月综合激情| 99久久精品免费看国产免费| 99999久久久久久亚洲| 国产亚洲精品久久久久秋霞| 欧美久久一区二区三区| 国产精品欧美亚洲韩国日本久久| av无码久久久久不卡免费网站| 久久亚洲精品无码aⅴ大香| 欧美日韩中文字幕久久久不卡| 一本久久a久久精品综合夜夜| 97久久久精品综合88久久| 乱亲女H秽乱长久久久| 久久综合国产乱子伦精品免费| 2019久久久高清456| 影音先锋女人AV鲁色资源网久久 | 狠狠色丁香婷婷久久综合| 亚洲а∨天堂久久精品9966| 亚洲精品国精品久久99热|