<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • 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.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務



    日歷

    鏈接

    個人資料

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

    存檔

    主站蜘蛛池模板: 日韩精品无码一本二本三本 | 91精品国产91久久综合| 国产精品超碰12396| 亚洲AV成人精品一区二区三区| 精品国产一级在线观看| 久久精品一区二区| 久久夜色精品国产噜噜麻豆| 四虎永久在线精品免费一区二区| 亚洲精品欧美综合在线| 999精品在线| 精品人人妻人人澡人人爽人人| 久久久久久青草大香综合精品| 97精品国产高清自在线看超| 国产精品亚洲午夜一区二区三区 | 精品视频在线免费观看| 精品久久久无码人妻中文字幕豆芽 | 日韩精品一区二区亚洲AV观看| 久久久99精品一区二区| 狠狠精品久久久无码中文字幕 | 久久精品国产精品亚洲艾草网美妙| 国产精品va在线观看无码| 2022精品国偷自产免费观看| 久久精品一区二区| 五月花精品视频在线观看| 久久精品国产只有精品2020| 国产精品合集一区二区三区| 99精品视频3| 国内精品久久久久久野外| 国内精品免费视频精选在线观看| 久久er国产精品免费观看2| 99久久精品国内| 91精品欧美综合在线观看| 91麻豆精品国产| 精品视频在线免费观看| 93精91精品国产综合久久香蕉 | 精品偷自拍另类在线观看| 久久久久女人精品毛片| 精品人妻久久久久久888| 国99精品无码一区二区三区| 99re国产精品视频首页| 欧美精品天天操|