JSON轉(zhuǎn)為L(zhǎng)ist對(duì)象--Java

準(zhǔn)備工作:
使用net.sf.json進(jìn)行轉(zhuǎn)換吟策。所依賴(lài)的jar包如下:


Image 1.png

所需轉(zhuǎn)換的JSON如下:
{ code: "0", msg: "", sites: [{ id: "56d03d0544029cb57d00001f", name: "XX網(wǎng)站", siteKey: "xxxx", pages: [{ id: "56d03d0544029cb57d00001d", name: "首頁(yè)", path: "index" }, { id: "56d0424144029cb57d000023", name: "第二頁(yè)", path: "page2" }] }]}


package entity;
import java.io.Serializable;import java.util.List;
/** 
* 整個(gè)站點(diǎn)的數(shù)據(jù)儒士,包括sites,sites是所有網(wǎng)站的集合
* Created by Administrator on 2016/9/17.
*/
public class WebSite implements Serializable{    
  private String code;    
  private String msg;    
  private List<WebsiteSites> sites;    
  public String getCode() {        
  return code;   
}    
public void setCode(String code) {        
  this.code = code;    
}    
  public String getMsg()
{        
  return msg;   
}    
public void setMsg(String msg) {        
  this.msg = msg;    
}    
public List<WebsiteSites> getSites() {        
  return sites;   
}    
public void setSites(List<WebsiteSites> sites) {        
  this.sites = sites;    
}
}

package entity;import java.io.Serializable;
import java.util.List;
/**
* 表示一個(gè)網(wǎng)站,其中pages代表這個(gè)網(wǎng)站的網(wǎng)頁(yè)集合
* Created by Administrator on 2016/9/17.
*/
public class WebsiteSites implements Serializable{   
  private String id;    
  private String name;    
  private String siteKey;    
  private List<WebsitesSitesPages> pages;    
  public String getId() {        
  return id;    
}    
public void setId(String id) {        
  this.id = id;    
}    
public String getName() {        
  return name;    
}    
public void setName(String name) {        
  this.name = name;   
}    
public String getSiteKey() {        
  return siteKey;    
}    
public void setSiteKey(String siteKey) {        
  this.siteKey = siteKey;   
}    
public List<WebsitesSitesPages> getPages() {        
  return pages;    
}   
public void setPages(List<WebsitesSitesPages> pages) 
{                    
  this.pages = pages;    
}
} 

package entity;import java.io.Serializable;
/**
* 代表pages,表示一個(gè)網(wǎng)頁(yè)的數(shù)據(jù)
* Created by Administrator on 2016/9/17. 
*/
 public class WebsitesSitesPages implements Serializable
 {             
 private String id;    
 private String name;    
 private String path;    
 public String getId() {        
  return id;   
 }    
 public void setId(String id) {       
   this.id = id;    
 }    
 public String getName() {        
   return name;    
}    
public void setName(String name) {        
  this.name = name;    
}    
public String getPath() {        
  return path;    
}    
public void setPath(String path) {        
  this.path = path;    
}
}

package operation;import entity.WebSite;
import entity.WebsiteSites;
import entity.WebsitesSitesPages;
import net.sf.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
/** 
* Created by Administrator on 2016/9/17. 
*/
public class JSONOperation {    
public static void main(String [] args){        
String jsonData = "{\n" +                
"  code: \"0\",\n" +                
"  msg: \"\",\n" +               
"  sites: [{\n" +                
"    id: \"56d03d0544029cb57d00001f\",\n" +                
"    name: \"XX網(wǎng)站\",\n" +                
"    siteKey: \"xxxx\",\n" +                
"    pages: [{\n" +                
"      id: \"56d03d0544029cb57d00001d\",\n" +               
"      name: \"首頁(yè)\",\n" +                
"      path: \"index\"\n" +                
"    },\n" +               
"    {\n" +                
"      id: \"56d0424144029cb57d000023\",\n" +                
"      name: \"第二頁(yè)\",\n" +                
"      path: \"page2\"\n" +                
"    }]\n" +                
"  }]\n" +                
"}";        
JSONObject jsonObject = JSONObject.fromObject(jsonData);         
Map<String, Class> map = new HashMap<String, Class>();                 
map.put("sites", WebsiteSites.class);        
map.put("pages", WebsitesSitesPages.class);        
WebSite webSite = (WebSite)JSONObject.toBean(jsonObject,    WebSite.class, map);        
System.out.println(webSite.getCode());                      
System.out.println(webSite.getSites().get(0).getName());   
}
}

以上是將JSON 轉(zhuǎn)為L(zhǎng)ist對(duì)象的簡(jiǎn)單流程檩坚。如果想詳細(xì)了解net.sf.json的使用着撩,api鏈接如下:
http://json-lib.sourceforge.net/apidocs/net/sf/json/package-summary.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市匾委,隨后出現(xiàn)的幾起案子拖叙,更是在濱河造成了極大的恐慌,老刑警劉巖赂乐,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件薯鳍,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡挨措,警方通過(guò)查閱死者的電腦和手機(jī)挖滤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)浅役,“玉大人斩松,你說(shuō)我怎么就攤上這事【跫龋” “怎么了惧盹?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)奋救。 經(jīng)常有香客問(wèn)我岭参,道長(zhǎng)反惕,這世上最難降的妖魔是什么尝艘? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮姿染,結(jié)果婚禮上背亥,老公的妹妹穿的比我還像新娘。我一直安慰自己悬赏,他們只是感情好狡汉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著闽颇,像睡著了一般盾戴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上兵多,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天尖啡,我揣著相機(jī)與錄音橄仆,去河邊找鬼。 笑死衅斩,一個(gè)胖子當(dāng)著我的面吹牛盆顾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播畏梆,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼您宪,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了奠涌?” 一聲冷哼從身側(cè)響起宪巨,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎溜畅,沒(méi)想到半個(gè)月后揖铜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡达皿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年天吓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片峦椰。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡龄寞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出汤功,到底是詐尸還是另有隱情物邑,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布滔金,位于F島的核電站色解,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏餐茵。R本人自食惡果不足惜科阎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望忿族。 院中可真熱鬧锣笨,春花似錦、人聲如沸道批。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)隆豹。三九已至椭岩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背判哥。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工氮唯, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人姨伟。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓惩琉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親夺荒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瞒渠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容