今天軟件測(cè)試培訓(xùn)老師和大家分享一些Android中對(duì)于json解析的相關(guān)知識(shí),幫助大家更好的來(lái)理解移動(dòng)端測(cè)試分析。
首先大家要明白什么是json?json(Javascript Object Notation)是一種數(shù)據(jù)交換格式,相比于xml數(shù)據(jù)交換格式來(lái)說(shuō),因?yàn)榻馕鰔ml比較的復(fù)雜,而且需要編寫(xiě)大段的代碼,所以client和server的數(shù)據(jù)交換格式往往通過(guò)json來(lái)進(jìn)行交換。尤其是對(duì)于web開(kāi)發(fā)來(lái)說(shuō),json數(shù)據(jù)格式在客戶(hù)端直接可以通過(guò)javascript來(lái)進(jìn)行解析。
JsonObject:包含一對(duì)兒(Key/Value)數(shù)值。一般被稱(chēng)為鍵值對(duì)。它對(duì)外部調(diào)用的呼應(yīng)體現(xiàn)為一個(gè)規(guī)范的字符串(例如:{"JSON": "nin,hao"},最外被大括號(hào)包裹,其間的Key和Value被冒號(hào)":"分隔)。其對(duì)于內(nèi)部行為的操作格局稍微,例如:初始化一個(gè)JSONObject實(shí)例,引證內(nèi)部的put()辦法增加數(shù)值:new JSONObject().put("JSON","nin,hao"),在Key和Value之間是以逗號(hào)","分隔。Value的類(lèi)型包含:Boolean、JSONArray、JSONObject、String等 。
JSONStringer:JSON文本構(gòu)建類(lèi),這個(gè)類(lèi)能夠幫助快速和快捷的創(chuàng)立JSON text。其最大的優(yōu)勢(shì)在于能夠削減因?yàn)楦窬值倪^(guò)錯(cuò)導(dǎo)致程序反常,引證這個(gè)類(lèi)能夠主動(dòng)嚴(yán)厲依照J(rèn)SON語(yǔ)法規(guī)矩創(chuàng)立JSON text。每個(gè)JSONStringer實(shí)體只能對(duì)應(yīng)創(chuàng)立一個(gè)JSONtext。。其最大的長(zhǎng)處在于能夠削減因?yàn)楦窬值倪^(guò)錯(cuò)導(dǎo)致程序反常,引證這個(gè)類(lèi)能夠主動(dòng)嚴(yán)厲依照J(rèn)SON語(yǔ)法規(guī)矩(syntax rules)創(chuàng)立JSON text。每個(gè)JSONStringer實(shí)體只能對(duì)應(yīng)創(chuàng)立一個(gè)JSONtext。
JSONArray:它代表一組有序的數(shù)值。將其轉(zhuǎn)換為String輸出所體現(xiàn)的方式是用方括號(hào)包裹,數(shù)值以逗號(hào)”,”分隔(例如:[value1,value2,value3],方便大家能夠利用簡(jiǎn)略的代碼愈加直觀的了解其格局)。這個(gè)類(lèi)的內(nèi)部相同具有查詢(xún)行為, get()和opt()兩種辦法都能夠通過(guò)index索引回來(lái)指定的數(shù)值,put()辦法用來(lái)增加或許替換數(shù)值。相同這個(gè)類(lèi)的value類(lèi)型能夠包含:Boolean、JSONArray、JSONObject、String或許默認(rèn)值。
Json作為一種輕量級(jí)的數(shù)據(jù)交換格局。它的選用完全獨(dú)立于言語(yǔ)的文本格局,但是這些特性使json調(diào)試成為抱負(fù)的數(shù)據(jù)交換言語(yǔ)。易于人閱覽和編寫(xiě),同時(shí)也易于機(jī)器解析和生成,大多數(shù)用于提高網(wǎng)絡(luò)傳輸速率。
Json的本質(zhì)就是具有特定格式的字符串,json完全獨(dú)立于編程語(yǔ)言,json比xml數(shù)據(jù)傳輸?shù)挠行砸叱龊芏?。它主要可?.將java對(duì)象,包含集合轉(zhuǎn)換為json字符串格式特別是在服務(wù)器端的應(yīng)用,2.將json格式字符串轉(zhuǎn)換java對(duì)象,主要在客戶(hù)端應(yīng)用。