將複雜json中的數據可以set get的方法

//json數據例子

{
  "item_list": [
    {
      "stay_time": "100",
      "media_list": [
        {
          "type": "1"
        },
        {
          "type": "1"
        }
      ]
    },
      {
      "stay_time": "200",
      "media_list": [
        {
          "type": "2"
        },
        {
          "type": "3"
        }
      ]
    }
  ]
}

1.//playList爲傳過來的json格式的字符串

@Autowired
	ObjectMapper objectMapper;
public void add(String playList){
	PlayListJto playListJto;
        try {
            // parse
            playListJto = objectMapper.readValue(playList, PlayListJto.class);
        } catch (IOException ex) {
            throw new ResultException(ResultStatus.SYSTEM_ERROR);
        }
    }

2.定義第一層實體類item_list

public class PlayListJto {

    private List<PlayListItemJto> itemList;

    public List<PlayListItemJto> getItemList() {
        return itemList;
    }

    public void setItemList(List<PlayListItemJto> itemList) {
        this.itemList = itemList;
    }

    @Override
    public String toString() {
        return "PlayListJto{" +
                "itemList=" + itemList.toString() +
                '}';
    }
}

3.定義第二層實體類stay_time,media_list

public class PlayListItemJto {

 private Integer stayTime;

    private List<PlayListMediaJto> mediaList;

    public Integer getStayTime() {
        return stayTime;
    }

    public void setStayTime(Integer stayTime) {
        this.stayTime = stayTime;
    }
    }

    public List<PlayListMediaJto> getMediaList() {
        return mediaList;
    }

    public void setMediaList(List<PlayListMediaJto> mediaList) {
        this.mediaList = mediaList;
    }

    @Override
    public String toString() {
        return "PlayListItemJto{" +
                "stayTime=" + stayTime +
                ", mediaList=" + mediaList.toString() +
                '}';
    }
}

4.定義第三層實體類type

public class PlayListMediaJto {

    private Integer type;

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    @Override
    public String toString() {
        return "PlayListMediaJto{" +
                "type=" + type 
                '}';
    }
  }

5.實現使用for循環:

 for(PlayListItemJto itemJto:playListJto.getItemList()){
                for(PlayListMediaJto mediaJto:itemJto.getMediaList()){
                	itemJto.getType();
                }
         }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章