解决方案 »
- 前辈们给菜鸟支个招 、
- 怎样使用Struts1.x中的令牌(Token)避免注册时重复刷新插入值的问题?
- 使用Hibernate增加数据时,Date日期类型报错
- java2000_net 请问有没有用spring+hibernate的好的开源项目可下载的.
- 怎么样在MyEclipse中引用Properites?
- 广征志同道合的朋友合创软件开发工作室
- 在JBOSS 下部署MDB???
- 奇怪,我这装的CVS怎么不能用?
- java菜鸟的Editplus 2+Tomcat 的问题,大伙来看看
- 急求这段SOAP JAVA程序的解救方法,拜托高手救命阿
- oracle动态sql问题求解,希望大牛指点指点
- 很简单的java代码!我刚入门!repaint为何很久才能显示
当然如果你非要用你自己的bean的话,那么剩下的就是把StringMap转换为你自己的bean就可以了参考下面的代码
bean
import java.util.Map;public class MyBean { private String start_time;
private String end_time;
private Map<String,Map<String,String>> map; public String getStart_time() {
return start_time;
} public void setStart_time(String start_time) {
this.start_time = start_time;
} public String getEnd_time() {
return end_time;
} public void setEnd_time(String end_time) {
this.end_time = end_time;
} public Map<String, Map<String, String>> getMap() {
return map;
} public void setMap(Map<String, Map<String, String>> map) {
this.map = map;
}
}
解析的main方法
public static void main(String[] args) throws UnsupportedEncodingException {
MyBean bean = new MyBean();
Gson gson = new Gson();
Map<String,Map<String,String>> beanMap=new HashMap<String,Map<String,String>>();
String strJson = "{'0': {'id': '84','title': '1号男鞋','price': '180'}," +
"'1': {'id': '85','title': '2号男鞋','price': '280'}," +
"'start_time': '2014-12-22','end_time': '2014-12-28'}";
Object obj=gson.fromJson(strJson, Object.class);
StringMap objArray = (StringMap)obj;
Iterator<String> iterator=objArray.keySet().iterator();
while(iterator.hasNext()){
String key=iterator.next();
Object value_obj = (Object)objArray.get(key);
if(value_obj instanceof StringMap){
StringMap stringMap = (StringMap)value_obj;
Map<String,String> contentMap = new HashMap<String,String>();
contentMap.putAll(stringMap);
beanMap.put(key, contentMap);
}
else if(value_obj instanceof String){
String value = (String)value_obj;
if(key.equals("start_time")){
bean.setStart_time(value);
}
if(key.equals("end_time")){
bean.setEnd_time(value);
}
}
else{
//TODO ……
}
bean.setMap(beanMap);
}
System.out.println(bean.getMap());
System.out.println(bean.getStart_time());
System.out.println(bean.getEnd_time());
}
你再将string 转下嘛 Integer.valueOf()
Long.valueOf()