androidjson解析及簡(jiǎn)單例子(轉(zhuǎn)載)_第1頁(yè)
androidjson解析及簡(jiǎn)單例子(轉(zhuǎn)載)_第2頁(yè)
androidjson解析及簡(jiǎn)單例子(轉(zhuǎn)載)_第3頁(yè)
androidjson解析及簡(jiǎn)單例子(轉(zhuǎn)載)_第4頁(yè)
androidjson解析及簡(jiǎn)單例子(轉(zhuǎn)載)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、JSON 的定義:一 種輕量級(jí)的數(shù)據(jù)交換格式,具有良好的可讀和便于快速編寫的特性。 業(yè)內(nèi)主流技術(shù)為其提供了完整的解決方案(有點(diǎn)類似于正則表達(dá)式 ,獲得了當(dāng) 今大部分語(yǔ)言的支持,從而可以在不同平臺(tái)間進(jìn)行數(shù)據(jù)交換。 JSON 采用兼容 性很高的文本格式,同時(shí)也具備類似于 C 語(yǔ)言體系的行為。 JJSON Vs XML1.JSON 和 XML 的數(shù)據(jù)可讀性基本相同2.JSON 和 XML 同樣擁有豐富的解析手段3.JSON 相對(duì)于 XML 來(lái)講,數(shù)據(jù)的體積小4.JSON 與 JavaScript 的交互更加方便5.JSON 對(duì)數(shù)據(jù)的描述性比 XML 較差6.JSON 的速度要遠(yuǎn)遠(yuǎn)快于

2、XMLandroid2.3提供的 json 解析類android 的 json 解析部分都在包 org.json 下,主要有以下幾個(gè)類:JSONObject :可以看作是一個(gè) json 對(duì)象 , 這是系統(tǒng)中有關(guān) JSON 定義的基本單元, 其包含一對(duì)兒 (Key/Value數(shù)值。它對(duì)外部 (External:應(yīng)用 toString(方法輸出的 數(shù)值 調(diào)用的響應(yīng)體現(xiàn)為一個(gè)標(biāo)準(zhǔn)的字符串(例如:JSON: Hello, World,最 外被大括號(hào)包裹,其中的 Key 和 Value 被冒號(hào) :分隔。其對(duì)于內(nèi)部 (Internal行 為的操作格式略微,例如:初始化一個(gè) JSONObject 實(shí)例,引用

3、內(nèi)部的 put(方法 添加數(shù)值:new JSONObject(.put(JSON, Hello, World!, 在 Key 和 Value 之間是 以逗號(hào) , 分隔。 Value 的類型包括:Boolean 、 JSONArray 、 JSONObject 、 Number 、 String 或者默認(rèn)值 JSONObject.NULL object 。JSONStringer :json 文本構(gòu)建類 ,根據(jù)官方的解釋,這個(gè)類可以幫助快速和 便捷的創(chuàng)建 JSON text。其最大的優(yōu)點(diǎn)在于可以減少由于 格式的錯(cuò)誤導(dǎo)致程序 異常, 引用這個(gè)類可以自動(dòng)嚴(yán)格按照 JSON 語(yǔ)法規(guī)則 (syntax

4、rules 創(chuàng)建 JSONtext 。 每個(gè) JSONStringer 實(shí)體只能對(duì)應(yīng)創(chuàng)建一個(gè) JSON text。 。 其最大的優(yōu)點(diǎn)在 于可以減少由于格式的錯(cuò)誤導(dǎo)致程序異常, 引用這個(gè)類可以自動(dòng)嚴(yán)格按照 JSON 語(yǔ)法規(guī)則(syntax rules創(chuàng)建 JSON text。每個(gè) JSONStringer 實(shí)體只能對(duì)應(yīng)創(chuàng) 建一個(gè) JSON text。JSONArray :它 代表一組有序的數(shù)值。 將其轉(zhuǎn)換為 String 輸出 (toString所表現(xiàn) 的形式是用方括號(hào)包裹, 數(shù)值以逗號(hào) ”,” 分隔 (例如:value1,value2,value3, 大家可以親自利用簡(jiǎn)短的代碼更加直觀的了解其

5、格式 。 這個(gè)類的內(nèi)部同樣具有 查詢行為, get(和 opt(兩種方法都可以通過(guò) index 索引返回指定的數(shù)值, put(方法用來(lái)添加或者替換數(shù)值。同樣這個(gè)類的 value 類型可以包括:Boolean 、 JSONArray 、 JSONObject 、 Number 、 String 或者默認(rèn)值 JSONObject.NULL object 。JSONTokener :json 解析類JSONException :json 中用到的異常JSONObject, JSONArray來(lái)構(gòu)建 json 文本 getType 和 optType api的使用getType 可以將要獲取的鍵的值轉(zhuǎn)

6、換為指定的類型,如果無(wú)法轉(zhuǎn)換或沒(méi)有值則拋出 JSONExceptionoptType 也是將要獲取的鍵的值轉(zhuǎn)換為指定的類型, 無(wú)法轉(zhuǎn)換或沒(méi)有值時(shí)返回用戶提供或這 默認(rèn)提供的值 除了上面的兩個(gè)類,還可以使用 JSONStringer 來(lái)構(gòu)建 json 文本 json 文本解析類 JSONTokener按照 RFC4627規(guī)范將 json 文本解析為相應(yīng)的對(duì)象。對(duì)于將 json 文本解析為對(duì)象,只需要用到該類的兩個(gè) api :構(gòu)造函數(shù)public Object nextValue(; 其它的 api 基本就是用來(lái)查看 json 文本中的文本的15. / 返回當(dāng)前讀取位置到第一次遇到字符串中(如0089任意字 符之間的字符串,同時(shí)該字符是 trimmed 的。 (此處就是第一次遇到了 8 9) 16. jsonParser.nextTo(0089; /me : yuanzhifei 17. 18. / 讀取位置撤銷一個(gè) 19. jsonParser.back(; 20. jsonParser.next(; /i 21. 22. / 讀取位置前進(jìn)到指定字符串處(包括字符串) 23. jsonParser.skipPast(address; 24. jsonParser.next(8; / : c 25. 26. / 讀取位置前進(jìn)到執(zhí)行字符處(

溫馨提示

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

評(píng)論

0/150

提交評(píng)論