Json字串转换成Java复杂对象

当Json字串需要生成复杂Java对象时,可参照如下代码映射生成。

 

需要如下jar包:

commons-beanutils-1.8.3.jar 

commons-collections-3.2.1.jar 

commons-lang-2.6.jar 

commons-logging-1.1.1.jar

ezmorph-1.0.6.jar 

 

json-lib-2.1-jdk15.jar 

 

 1 String jsonString = "
 2 [    
 3 {"author":"7","id":358,"title":"More of us","pictures":[{"description":"","imgPath":"/cms/u/cms/www/201203/05150720ii67.jpg"}],"path":"ip"},    
 4 {"author":"6","id":357,"title":"Video Gallery","pictures":[{"description":"","imgPath":"/cms/u/cms/www/201203/05150657mgpk.jpg"}],"path":"ip"},    
 5 {"author":"5","id":356,"title":"WATS Fun","pictures":[{"description":"","imgPath":"/cms/u/cms/www/201203/05150608s68h.jpg"}],"path":"ip"},    
 6 {"author":"4","id":355,"title":"Health and Beauty Tips","pictures":[{"description":"","imgPath":"/cms/u/cms/www/201203/05150146mrqo.jpg"}],"path":"ip"},    
 7 {"author":"2","id":354,"title":"Watsons Card Members","pictures":[{"description":"","imgPath":"/cms/u/cms/www/201203/05145320s6u8.jpg"}],"path":"ip"},    
 8 {"author":"1","id":353,"title":"Only @ Watsons","pictures":[{"description":"","imgPath":"/cms/u/cms/www/201203/05145051bn9c.jpg"}],"path":"ip"},    
 9 {"author":"0","id":351,"title":"WATS HOT","pictures":[{"description":"","imgPath":"/cms/u/cms/www/201203/05143251ewdl.jpg"}],"path":"ip"},    
10 {"author":"3","id":350,"title":"Pharmacy Services","pictures":[{"description":"","imgPath":"/cms/u/cms/www/201203/05143239whnz.jpg"}],"path":"ip"}    
11 ]";
12 
13 JSONArray ja = JSONArray.fromObject(jsonString);
14 
15 Map<String, Class<pictures>> classMap =  new HashMap<String, Class<pictures>>(); 
16 classMap.put("pictures", pictures. class); 
17 List<Content> list = JSONArray.toList(ja, Content. class, classMap);

 

 1  public  class Content {
 2      private String author;
 3      private String id;
 4      private String title;
 5      private List<pictures> pictures;
 6      private String path;
 7      public String getAuthor() {
 8          return author;
 9     }
10      public  void setAuthor(String author) {
11          this.author = author;
12     }
13      public String getId() {
14          return id;
15     }
16      public  void setId(String id) {
17          this.id = id;
18     }
19      public String getTitle() {
20          return title;
21     }
22      public  void setTitle(String title) {
23          this.title = title;
24     }
25      public List<pictures> getPictures() {
26          return pictures;
27     }
28      public  void setPictures(List<pictures> pictures) {
29          this.pictures = pictures;
30     }
31      public String getPath() {
32          return path;
33     }
34      public  void setPath(String path) {
35          this.path = path;
36     }
37 }

 

  1  public  class pictures {

 2     private String description;

 3     private String imgPath;
 4 
 5     public String getDescription() {
 6      return description;
 7     }
 8 
 9     public void setDescription(String description) {
10      this.description = description;
11     }
12 
13     public String getImgPath() {
14      return imgPath;
15     }
16 
17     public void setImgPath(String imgPath) {
18      this.imgPath = imgPath;
19     }
20 }

 

 

转载于:https://www.cnblogs.com/cokepanm/archive/2012/03/07/2384127.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值