《Android移動應(yīng)用開發(fā)》JSON數(shù)據(jù)解析_第1頁
《Android移動應(yīng)用開發(fā)》JSON數(shù)據(jù)解析_第2頁
《Android移動應(yīng)用開發(fā)》JSON數(shù)據(jù)解析_第3頁
《Android移動應(yīng)用開發(fā)》JSON數(shù)據(jù)解析_第4頁
《Android移動應(yīng)用開發(fā)》JSON數(shù)據(jù)解析_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

JSON2023/9/28142023/9/28認識JSONJSON核心解析類目錄CONTENT12JSON解析工具:Gson3參考教材:《Android應(yīng)用開發(fā)項目化教程》認識JSON特點JSON(JavaScriptObjectNotation)是一種輕量級的數(shù)據(jù)交換格式。具有良好的可讀和便于快速編寫的特性,同時也易于機器解析和生成,非常適合于服務(wù)器與客戶端的交互。JSON采用與編程語言無關(guān)的文本格式,業(yè)內(nèi)主流技術(shù)為其提供了完整的解決方案(有點類似于正則表達式),從而可以在不同平臺間進行數(shù)據(jù)交換。JSON采用兼容性很高的文本格式,同時也具備類似于C語言體系的行為。1認識JSON數(shù)據(jù)結(jié)構(gòu)MapMap結(jié)構(gòu)也稱為對象,以鍵值對的形式給出,鍵和值之間用“:”隔開,兩個Map之間用“,”隔開,一般表示形式如下: {'key1':'value1','key2':'value2'}1認識JSON數(shù)據(jù)結(jié)構(gòu)ArrayArray就是普通意義上的數(shù)組,一般形式如下:

['arr1','arr2','arr3'];1認識JSON數(shù)據(jù)格式對象(Object):一個對象以“{”開始,并以“}”結(jié)束。一個對象包含一系列非排序的鍵值對,每個鍵值對之間使用“,”分隔。名稱-值(Collection):名稱和值之間使用“:”隔開,一般的形式是:{name:value}。數(shù)組(Array):使用[]包含所有元素,每個元素用逗號分隔,元素可以是任意的Value字符串(String):以""括起來的一串字符。數(shù)值(Number):一系列0-9的數(shù)字組合,可以為負數(shù)或者小數(shù)。布爾值(Boolean):表示為true或者false。1JSON核心解析類org.jsonAndroid的JSON解析部分都在包org.json下,提供:JSONObjectJSONStringerJSONArrayJSONTokenerSONExceptionJSONStringJSONWriterJSONReader2JSON核心解析類org.jsonJSONObjectJSONObject是一個無序的鍵值對的集合,可以看作是一個JSON對象,這是系統(tǒng)中有關(guān)JSON定義的基本單元。它的外在形式是一個用大括號包裹,并用冒號將名字和值分開的字符串。內(nèi)部形式就是一個對象。JSONObject提供了一系列的get、set和opt方法來訪問JSONObject實例。這些值的類型可以是Boolean、JSONArray、JSONObject、Number、String或者默認值JSONObject.NULL對象。2JSON核心解析類org.jsonJSONStringerJSONStringer是JSON文本構(gòu)建類,用于幫助快速和便捷的創(chuàng)建JSON文本。其最大的優(yōu)點在于可以減少由于格式的錯誤而導(dǎo)致程序異常,引用這個類可以自動嚴格按照JSON語法規(guī)則創(chuàng)建JSON文本。每個JSONStringer實體只能對應(yīng)創(chuàng)建一個JSON文本。2JSON核心解析類org.jsonJSONArrayJSONArray代表一組有序的數(shù)值。表現(xiàn)形式是用方括號包裹,數(shù)值以逗號","分隔(例如:[value1,value2,value3])。這個類的內(nèi)部同樣具有查詢行為,通過get()和opt()兩種方法都可以根據(jù)index索引返回指定的數(shù)值,put()方法用來添加或者替換數(shù)值。這個類和JSONObject支持相同的數(shù)據(jù)類型。2JSON核心解析類org.jsonJSONTokenerJSONTokener是系統(tǒng)為JSONObject和JSONArray構(gòu)造器的解析類,它可以從源信息中提取數(shù)值信息。2JSON核心解析類org.jsonSONExceptionJSONException是類拋出的異常信息。當(dāng)語法錯誤或者過程異常的時候,會拋出JSONException異常。以下情況下會產(chǎn)生JSONException:試圖解析或構(gòu)建一個格式錯誤的JSON文檔。使用null作為關(guān)鍵詞。使用不提供給JSON數(shù)值類型,如NaN或無窮大的。使用不存在的鍵進行查找。類型不匹配的解析。2JSON核心解析類org.jsonJSONStringJSONString是一個接口,以便其他類可以通過實現(xiàn)該接口的toString()方法來改變JSONObject、JSONArray等內(nèi)部toString()方法的功能,以實現(xiàn)他們自己的序列化。2JSON核心解析類org.jsonJSONWriterJSONWriter位于android.util包下,是一個快速將JSON文本寫入數(shù)據(jù)流的工具。每次只能輸出一個字符串。流中既包括文字值(字符串、數(shù)字、布爾值和空值),也包括作為對象、數(shù)組的開始和結(jié)束標(biāo)志的分隔符。2JSON核心解析類org.jsonJSONObjectJsonReader位于android.util包下,主要用來讀取JSON字符串的內(nèi)容。2JSON解析工具:Gson來源Gson是Google提供的一個輕量級的JSON轉(zhuǎn)換類庫,在Java平臺可以方便的將一個Java對象轉(zhuǎn)換成JSON格式,也可以將JSON格式的字符串轉(zhuǎn)換成Java對象。3JSON解析工具:Gson核心類Gson使用Gson的主類,構(gòu)造Gson類的實例后,可使用toJson(Object)方法將Bean里面的內(nèi)容轉(zhuǎn)換為JSON內(nèi)容,使用fromJson(String,Class)方法將JSON對象封裝出一個一個的Bean對象。3JSON解析工具:Gson核心類GsonBuilder用于創(chuàng)建Gson的實例,和使用newGson()不同的是,GsonBuilder可進行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論