Java JSON

JSON 簡介

json (JavaScrip Object Notation) 是行業(yè)內(nèi)最為流行的數(shù)據(jù)傳輸格式,與開發(fā)語言無關(guān),相比xml,其輕量,解析方便,一目了然。

  • 大多數(shù)服務(wù)端 API 用 JSON 作為返回格式
  • 作為數(shù)據(jù)存儲(chǔ),比如數(shù)據(jù)庫
  • 幾乎每門語言都有處理 json 的 api
  • 易于人的閱讀和編寫
image.png

數(shù)據(jù)類型表示

①數(shù)據(jù)結(jié)構(gòu)

  • Object
    使用花括號(hào)包含的鍵值對(duì)結(jié)構(gòu), key 必須是 string 類型, value 為任何基本類型或數(shù)據(jù)結(jié)構(gòu)
  • Array
    使用中括號(hào)來起始,并用逗號(hào)來分割元素

②基本類型

  • string
  • number
  • true
  • false
  • null

例子( json 沒有注釋):

{
    "name" : "MIneTea",  //字符串
    "age" : 18,//數(shù)字
    "birthday" : "2000-01-01",
    "school" : "SCNU",
    "major" : ["subject1","subject2"],//數(shù)組
    "has_girlfriend" : true,//布爾型
    "car" : null,//null 值
    ......
    
}

Java 的 JSON 使用舉例

①導(dǎo)入相關(guān)包
②生成 JSONObject 對(duì)象 jsonObject
③使用該對(duì)象的 put 方法

    jsonObject.put("name" , "MIneTea");
    jsonObject.put("age" , 18);//鍵值對(duì)形式,對(duì)應(yīng) json 文件的花括號(hào)表達(dá)形式
    
    Object null1 = null;
    jsonObject.put("car",null1);//原本這里 null 會(huì)被當(dāng)成字符串,
                                //為了避免這個(gè)問題,聲明一個(gè) null 值的object類型即可
  • 一般會(huì)通過 JavaBean 來構(gòu)建 JSON,即聲明一個(gè) JavaBean 類,里面有對(duì)應(yīng) JSON 鍵名的屬性,并提供大量的 get 和 set 方法對(duì)類中的屬性進(jìn)行獲取和設(shè)置,這樣,創(chuàng)建一個(gè)新的 JSON 對(duì)象時(shí),通過設(shè)置這個(gè) JavaBean 的對(duì)象為參數(shù),就可以創(chuàng)建擁有相應(yīng)鍵值對(duì)的 JSON 對(duì)象了。

解析 JSON

獲取 JSON 數(shù)據(jù)流后,要進(jìn)行解析,方法有:
①獲取文件,還要知道對(duì)應(yīng)的數(shù)據(jù)類型
②創(chuàng)建 json 時(shí)設(shè)置構(gòu)造函數(shù)的參數(shù)為這個(gè)文件數(shù)據(jù)
③使用 getString("key") 等方法獲取相應(yīng)數(shù)據(jù)類型

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 在接口測(cè)試的過程中,遇到響應(yīng)數(shù)據(jù)是一個(gè)json的格式里面在嵌套一個(gè)jsonarray。 public class ...
    _夏兮閱讀 594評(píng)論 0 0
  • 本文中主要介紹JSONObject處理json數(shù)據(jù)時(shí)候的一些常用場景和方法。 (一)jar包下載 所需jar包打包...
    m2fox閱讀 1,311評(píng)論 0 1
  • GSON是谷歌提供的開源庫,用來解析Json格式的數(shù)據(jù),非常好用。如果要使用GSON的話,則要先下載gson-2....
    m2fox閱讀 1,060評(píng)論 1 1
  • 如果愛是一種病 那么最好能早點(diǎn)經(jīng)歷 就像水痘 早點(diǎn)經(jīng)歷 早點(diǎn)免疫 有朝一日 你也會(huì)百毒不侵
    長江客閱讀 451評(píng)論 0 1
  • 一個(gè)人在街上晃蕩晃蕩,不知不覺已經(jīng)到了午飯時(shí)間。路過一家韓國燒烤料理店,她不由的用手摸了摸肚皮,再捏了捏口袋,仰天...
    wendy_lanyuan閱讀 205評(píng)論 0 0