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