![2021電大《Android網(wǎng)絡(luò)開發(fā)技術(shù)》形考任務(wù)一教學(xué)實(shí)踐1答案_第1頁(yè)](http://file4.renrendoc.com/view12/M0A/2F/04/wKhkGWchDHOAF-gaAAG5SG6y3AM939.jpg)
![2021電大《Android網(wǎng)絡(luò)開發(fā)技術(shù)》形考任務(wù)一教學(xué)實(shí)踐1答案_第2頁(yè)](http://file4.renrendoc.com/view12/M0A/2F/04/wKhkGWchDHOAF-gaAAG5SG6y3AM9392.jpg)
![2021電大《Android網(wǎng)絡(luò)開發(fā)技術(shù)》形考任務(wù)一教學(xué)實(shí)踐1答案_第3頁(yè)](http://file4.renrendoc.com/view12/M0A/2F/04/wKhkGWchDHOAF-gaAAG5SG6y3AM9393.jpg)
![2021電大《Android網(wǎng)絡(luò)開發(fā)技術(shù)》形考任務(wù)一教學(xué)實(shí)踐1答案_第4頁(yè)](http://file4.renrendoc.com/view12/M0A/2F/04/wKhkGWchDHOAF-gaAAG5SG6y3AM9394.jpg)
![2021電大《Android網(wǎng)絡(luò)開發(fā)技術(shù)》形考任務(wù)一教學(xué)實(shí)踐1答案_第5頁(yè)](http://file4.renrendoc.com/view12/M0A/2F/04/wKhkGWchDHOAF-gaAAG5SG6y3AM9395.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021國(guó)家開放大學(xué)電大《Android網(wǎng)絡(luò)開發(fā)技術(shù)》
形考任務(wù)一教學(xué)實(shí)踐1答案
形考任務(wù)一教學(xué)實(shí)踐1
完成以下JSON的解析,完成主體代碼即可,解析方法及庫(kù)不限。
一、什么是JSON?
JSON是一種取代XML的數(shù)據(jù)結(jié)構(gòu),和xml相比,它更小巧但描述能力卻不差,由于它的小巧所
以網(wǎng)絡(luò)傳輸數(shù)據(jù)將減少更多流量從而加快速度。
JSON就是一串字符串只不過元素會(huì)使用特定的符號(hào)標(biāo)注。
{}雙括號(hào)表示對(duì)象
[]中括號(hào)表示數(shù)組
""雙引號(hào)內(nèi)是屬性或值
:冒號(hào)表示后者是前者的值(這個(gè)值可以是字符串、數(shù)字、也可以是另一個(gè)數(shù)組或?qū)ο?
所以{"name":"Michael")可以理解為是一個(gè)包含name為Michael的對(duì)象
W[{"name":"Michael"),{"name":"Jerry"}]就表示包含兩個(gè)對(duì)象的數(shù)組
當(dāng)然了,你也可以使用{"name":["Michael","Jerry"]}來簡(jiǎn)化上面一部,這是一個(gè)擁有一個(gè)name
數(shù)組的對(duì)象
二、JSON解析之傳統(tǒng)的JSON解析
1、生成json字符串
publicstaticStringcreateJsonString(Stringkey,Objectvalue){
JSONObjectjsonObject=newJSONObject();
jsonObject.put(key,value);
returnjsonObject.toString();
}
2、解析JSON字符串
分為以下三種情況,一個(gè)JavaBean,一個(gè)List數(shù)組,一個(gè)嵌套Map的List數(shù)組:
importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.Iterator;
importjava.util.List;
importjava.util.Map;
importorg.json.JSONArray;
importorg.json.JSONObject;
importcom.android.myjson.domain.Person;
/**
*完成對(duì)json數(shù)據(jù)的解析
*
*/
publicclassJsonTools{
publicstaticPersongetPerson(Stringkey,StringjsonString){
Personperson=newPerson();
try(
JSONObjectjsonObject=newJSONObject(jsonString);
JSONObjectpersonobject=jsonObject.getJSONObject("person");
person.setld(personObject.getlnt("id"));
person.setName(personObject.getString("name"));
person.setAddress(personObject.getString("address"));
}catch(Exceptione){
//TODO:handleexception
)
returnperson;
)
publicstaticListgetPersons(Stringkey,StringjsonString){
Listlist=newArrayList();
try(
JSONObjectjsonObject=newJSONObject(jsonString);
//返回json的數(shù)組
JSONArrayjsonArray=jsonObject.getJSONArray(key);
for(inti=0;i<jsonArray.length();i++){
JSONObjectjsonObject?=jsonArray.getJSONObject(i);
Personperson=newPerson();
person.setld(jsonObject2.getlnt("id"));
person.setName(jsonObject2.getString("name"));
person.setAddress(jsonObject2.getString("address"));
list.add(person);
)
}catch(Exceptione){
//TODO:handleexception
)
returnlist;
)
publicstaticListgetList(Stringkey,StringjsonString){
Listlist=newArrayList();
try(
JSONObjectjsonObject=newJSONObject(jsonString);
JSONArrayjsonArray=jsonObject.getlSONArray(key);
for(inti=0;i<jsonArray.length();i++){
Stringmsg=jsonArray.getString(i);
list.add(msg);
)
}catch(Exceptione){
//TODO:handleexception
)
returnlist;
}
publicstaticList>listKeyMaps(Stringkey,
StringjsonString){
List>list=newArrayList>();
try(
JSONObjectjsonObject=newJSONObject(jsonString);
JSONArrayjsonArray=jsonObject.getlSONArray(key);
for(inti=0;i<jsonArray.length();i++){
JSONObjectjsonObject?=jsonArray.getJSONObject(i);
Mapmap=newHashMap();
Iteratoriterator=jsonObject?.keys();
while(iterator.hasNext()){
Stringjson_key=iterator.next();
Objectjson__value=jsonObject2,get(json_key);
if(json_value==null){
json_value=
}
map.put(json_keyzjson__value);
}
list.add(map);
}
}catch(Exceptione){
//TODO:handleexception
}
returnlist;
}
}
三、JSON解析之GSON
1、生成JSON字符串
importcom.google.gson.Gson;
publicclassJsonlltils{
publicstaticStringcreateJsonObject(Objectobj){
Gsongson=newGson();
Stringstr=gson.toJson(obj);
returnstr;
)
)
二、解析JSON
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Map;
importcom.google.gson.Gson;
importcom.google.gson.reflect.Typelbken;
/
publicclassGsonTools{
publicGsonTools(){
//TODOAuto-generatedconstructorstub
)
/**
*@param
*@paramjsonString
*@paramcis
*@return
*/
publicstaticTgetPerson(StringjsonString,Classcis){
Tt=null;
try(
Gsongson=newGson();
t=gson.fromJson(jsonString,cis);
}catch(Exceptione){
//TODO:handleexception
)
returnt;
)
/**
*使用Gson進(jìn)行解析List
*
*@param
*@paramjsonString
*@paramcis
*@return
*/
publicstaticListgetPersons(StringjsonString,Classcis){
Listlist=newArrayList();
try(
Gsongson=newGson();
list=gson.fromJson(jsonString,newTypeToken>(){
}.getType());
}catch(Exceptione){
)
returnlist;
)
/**
*@paramjsonString
*@return
*/
publicstaticListgetList(StringjsonString){
Listlist=newArrayList();
try(
Gsongson=newGson();
list=gson.fromJson(jsonString,newTypeToken>(){
}.getType());
}catch(Exceptione){
//TODO:handleexception
)
returnlist;
)
publicstaticList>listKeyMaps(StringjsonString){
List>list=newArrayUst>();
try(
Gsongson=newGson();
list=gson.fromJson(jsonString,
newTypeToken?(){
}.getType());
}catch(Exceptione){
//TODO:handleexception
)
returnlist;
三、JSON解析之FastJSON
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Map;
importcom.alibaba.fastjsonJSON;
importcom.alibaba.fastjson.TypeReference;
publicclassJsonTool{
publicstaticTgetPerson(Stringjsonstring,Classcis){
Tt=null;
try(
t=JSON.parseObject(jsonstring,cis);
}catch(Exceptione){
//TODO:handleexception
)
returnt;
}
publicstaticListgetPersonList(Stringjsonstring,Classcis){
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)科技園區(qū)種植項(xiàng)目合作合同
- 大拖拉機(jī)配件購(gòu)銷合同
- 搭棚施工合同范本
- 委托房地產(chǎn)開發(fā)合同書模板
- 正規(guī)區(qū)域代理合同范本
- 房地產(chǎn)開發(fā)承包合同
- 國(guó)際貿(mào)易進(jìn)出口英文合同范本
- 個(gè)人房屋裝修合同標(biāo)準(zhǔn)范文
- 公共廁所的管理制度
- 白酒購(gòu)買合同模板范文
- 小兒高熱驚厥課件
- 陜西省2024年中考語(yǔ)文真題試卷【附答案】
- 河南省鄭州市二七區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末考試語(yǔ)文試題
- JB-T 8532-2023 脈沖噴吹類袋式除塵器
- 電網(wǎng)兩票培訓(xùn)課件
- 山東省濟(jì)寧市2023年中考數(shù)學(xué)試題(附真題答案)
- 班組建設(shè)工作匯報(bào)
- 供應(yīng)鏈金融與供應(yīng)鏈融資模式
- 工程類工程公司介紹完整x
- 板帶生產(chǎn)工藝熱連軋帶鋼生產(chǎn)
- 輪機(jī)備件的管理(船舶管理課件)
評(píng)論
0/150
提交評(píng)論