接上回的博文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"));
}
}