1.JSON是什么?
    - 
        JSON的全稱為JavaScript Object Notation ,也就是JavaScript對象標(biāo)記法。
    
 
    - 
        JSON是一種輕量級的數(shù)據(jù)交換格式,用于兩個程序之間的數(shù)據(jù)交換,類似于XML文檔。
    
 
    2.JSON對象格式
    使用JSON表示一個對象的格式:
{
    "屬性名1":"屬性值1",
    "屬性名2":"屬性值2",
    ......
    "屬性名":"屬性值n"
}  
    注意事項 
    - 
        一個對象整體由一個大括號表示
    
 
    - 
        對象的屬性,是由一個個鍵值對組成
    
 
    - 
        鍵值對的鍵與值之間應(yīng)該使用冒號隔開,而不同鍵值對之間需要使用逗號隔開
    
 
    - 
        鍵與值最好都使用雙引號,值可以是JavaScript中的任何一種數(shù)據(jù)類型
    
 
    示例
{
    "name":"金蘋果",
    "info":"講述了種植蘋果的辛酸歷程"
}  
    3.JSON數(shù)組表示
    JSON中的數(shù)組使用 [ ] 表示,并且數(shù)組可以跟對象互相嵌套
    格式:
[元素1,元素2...]  
    示例:
    數(shù)組包含對象
 ["張三","李四",{
        "name":"王五",
        "info":"一個在技術(shù)上使勁鉆研的人"
    }]  
    對象包含數(shù)組:
{
    "name":"李小超",
    "friend":["張三","李四",
              {
                "name":"王五",
                "info":"一個在技術(shù)上使勁鉆研的人"
            }
             ]
    "info":"一個非常帥氣的人"
}  
    對象與對象的嵌套:
{
    "name":"李小超",
    "project":{
        "school":"HPU",
        "name":"computer"
    }
}  
    4.JSON的解析
    1. 使用Gson解析JSON文件
    - 
        
            將Java對象轉(zhuǎn)換為JSON字符串
        
String json = new Gson().toJSON(要轉(zhuǎn)換的對象);  
        
        
            代碼示例:
        
Book b = new Book("金蘋果","講述了種植蘋果的辛酸路程"); String str = new Gson().toJson(b);  
        
     
    - 
        
            將JSON字符串轉(zhuǎn)換為Java對象
        
對象 = new Gson().fromJson(JSON字符串,對象類型.class);  
        
        
            代碼示例:
        
        
            - 
                將JSON字符串轉(zhuǎn)換為Java對象
            
 
        
 Book b2 = new Gson().fromJson(str, Book.class); System.out.println(b2.getName());  
        
        
            - 
                將JSON字符串轉(zhuǎn)換為Java集合
            
 
        
String js = "{\"name\":\"金蘋果\",\"info\":\"講述了種植蘋果的辛酸歷程\",\"page\":[\"鋤禾日當(dāng)午\",\"汗滴禾下土\"]}"; HashMap data = new Gson().fromJson(js,HashMap.class); System.out.println(data.get("page").getClass());   
        
        
            我們在寫JSON字符串的時候,需要注意使用轉(zhuǎn)義字符轉(zhuǎn)換雙引號,另外,如果鍵值對的值是JSON數(shù)組,那么對應(yīng)數(shù)組在轉(zhuǎn)換之后的類型是ArrayList
        
     
    2. 使用fastJson解析JSON文件
    使用fastJSON解析與Gson十分相似,不過前者使用的是靜態(tài)方法。
    - 
        
            Java對象轉(zhuǎn)換為JSON字符串
        
String json=JSON.toJSONString(要轉(zhuǎn)換的對象);  
        
     
    - 
        
            JSON字符串轉(zhuǎn)換為Java對象
        
類型 對象名=JSON.parseObject(JSON字符串, 類型.class);
或者
List<類型> list=JSON.parseArray(JSON字符串,類型.class);  
        
        
            示例:
轉(zhuǎn)換為Java對象
        
 Book b2 = JSON.parseObject(json1,Book.class);  
        
        
            轉(zhuǎn)換為List集合
        
List list = JSON.parseArray(json1,String.class);  
        
        
            
                在這里進(jìn)行說明一下,我們觀察JSON.parseArray()的源碼可以看到,這個方法的返回值就是一個List類型的數(shù)據(jù),我們向方法中傳遞的第二個參數(shù)是List元素所屬的類型。
、
            
            
                
藍(lán)藍(lán)設(shè)計建立了UI設(shè)計分享群,每天會分享國內(nèi)外的一些優(yōu)秀設(shè)計,如果有興趣的話,可以進(jìn)入一起成長學(xué)習(xí),請掃碼ben_lanlan,報下信息,會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務(wù)合作,也請與我們聯(lián)系。 
            
文章來源:csdn 
            
                分享此文一切功德,皆悉回向給文章原作者及眾讀者.
免責(zé)聲明:藍(lán)藍(lán)設(shè)計尊重原作者,文章的版權(quán)歸原作者。如涉及版權(quán)問題,請及時與我們?nèi)〉寐?lián)系,我們立即更正或刪除。
 
            
            
                藍(lán)藍(lán)設(shè)計( www.kadanni.com.cn )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 、平面設(shè)計服務(wù)