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)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容