接上回的博文http://2558283.blog.51cto.com/2548283/1043956。这次主要是针对新浪微博API中的json数据格式进行解析

package com.jerry.handler;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.jerry.entity.User;
/**
 *
 * @author jerry
 * @date 2012-11-5
 */
public class JsonToBean {
 // User
 private User user = null;
 private String userData = "{\"id\":\"10001\",\"screen_name\":\"jerry\",\"province\":\"hunan\"}";

 // childMap
 private Map<String, Object> childMap = null;
 private String childMapdata = "{\"id\":\"20001\",\"title\":\"sina\",\"user\":{\"id\":\"10001\",\"screen_name\":\"jerry\",\"province\":\"hunan\"}}";

 // List
 private List<Map<String, Object>> list = null;
 private String listData = "[{\"id\":\"20001\",\"title\":\"sina\",\"user\":{\"id\":\"10001\",\"screen_name\":\"jerry\",\"province\":\"hunan\"}}]";

 //Map
 private Map<String, List<Map<String, Object>>> map = null;
 private String mapData = "{\"statues\":[{\"id\":\"20001\",\"title\":\"sina\",\"user\":{\"id\":\"10001\",\"screen_name\":\"jerry\",\"province\":\"hunan\"}}]}";
 
 // 获得User信息
 private User getUserData() {
  Gson gson = new Gson();
  user = gson.fromJson(userData, User.class);
  return user;
 }

 // 获得ChildMap信息
 private Map<String, Object> getchildMapData() {

  childMap = new HashMap<String, Object>();
  Gson gson = new Gson();
  childMap = gson.fromJson(childMapdata,
    new TypeToken<Map<String, Object>>() {
    }.getType());

  return childMap;
 }

 //获得List信息
 private List<Map<String, Object>> getListData()
 {
  list = new ArrayList<Map<String, Object>>();
  Gson gson = new Gson();
  list = gson.fromJson(listData, new TypeToken<List<Map<String, Object>>>(){}.getType());
  return list;
 }
 
 //获得Map信息
 private Map<String, List<Map<String, Object>>> getMapData()
 {
  map = new HashMap<String, List<Map<String, Object>>>();
  
  Gson gson = new Gson();
  map = gson.fromJson(mapData, new TypeToken<Map<String,List<Map<String, Object>>>>(){}.getType());
  return map;
 }
 
 // main
 public static void main(String[] args) {
  JsonToBean tjb = new JsonToBean();
  // user
  System.out.println("user: " + tjb.getUserData().getId());
  // ChildMap
  System.out.println("childMap: " + tjb.getchildMapData().get("id"));
  //list
  System.out.println("list: " + tjb.getListData().get(0).get("id"));
  //map
  System.out.println("map: " + tjb.getMapData().get("statues").get(0).get("id"));
 }
}