google 的 gson json字符串转map 或 list
2015-09-11 16:37
716 查看
google 的 gson json字符串转map 或 list
这个两天维护项目,要不json字符串转为list 或者 map ,用 gson 解决,总是出现转换异常的问题,这个是泛型的问题
例如:json字符串转list
public static List<?> jsonToList(String jsonStr){
List<?> objList=null;
if(gson!=null){
java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<List<?>>(){}.getType();
objList=gson.fromJson(jsonStr, type);
}
return objList;
}
直接用这个方法会报错!
解决:
public static List<ResultSend> jsonToListByRS(String jsonStr){
List<ResultSend> objList = null;
if(gson!=null){
java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<List<ResultSend>>(){}.getType();
objList=gson.fromJson(jsonStr, type);
}
return objList;
}
把?换成具体的类就可以了,也不知道为啥,如果?不可以,之前的程序员为什么这么写呢??最后还是像我那样解决的
map也是如此
public static Map<?,?> jsonToMap(String jsonStr){
Map<?,?> objMap=null;
if(gson!=null){
java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<Map<?,?>>(){}.getType();
objMap=gson.fromJson(jsonStr, type);
}
return objMap;
}
解决:
public static Map<String,ResultSend> jsonToMap2(String jsonStr){
Map<String,ResultSend> objMap=null;
if(gson!=null){
java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<Map<String,ResultSend>>(){}.getType();
objMap=gson.fromJson(jsonStr, type);
}
return objMap;
}
这个两天维护项目,要不json字符串转为list 或者 map ,用 gson 解决,总是出现转换异常的问题,这个是泛型的问题
例如:json字符串转list
public static List<?> jsonToList(String jsonStr){
List<?> objList=null;
if(gson!=null){
java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<List<?>>(){}.getType();
objList=gson.fromJson(jsonStr, type);
}
return objList;
}
直接用这个方法会报错!
解决:
public static List<ResultSend> jsonToListByRS(String jsonStr){
List<ResultSend> objList = null;
if(gson!=null){
java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<List<ResultSend>>(){}.getType();
objList=gson.fromJson(jsonStr, type);
}
return objList;
}
把?换成具体的类就可以了,也不知道为啥,如果?不可以,之前的程序员为什么这么写呢??最后还是像我那样解决的
map也是如此
public static Map<?,?> jsonToMap(String jsonStr){
Map<?,?> objMap=null;
if(gson!=null){
java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<Map<?,?>>(){}.getType();
objMap=gson.fromJson(jsonStr, type);
}
return objMap;
}
解决:
public static Map<String,ResultSend> jsonToMap2(String jsonStr){
Map<String,ResultSend> objMap=null;
if(gson!=null){
java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<Map<String,ResultSend>>(){}.getType();
objMap=gson.fromJson(jsonStr, type);
}
return objMap;
}
相关文章推荐
- Gson.toJson()时内存溢出StackOverflowError
- XML 与 JSON 优劣对比
- newtonsoft.json解析天气数据出错解决方法
- vbs 解析json jsonp的方法
- Extjs4如何处理后台json数据中日期和时间
- C#实现将类的内容写成JSON格式字符串的方法
- jquery JSON的解析方式示例介绍
- c#版json数据解析示例分享
- ASP JSON类文件的使用方法
- C#实现对Json字符串处理实例
- C#实现Json转Unicode的方法
- php解析json数据实例
- PHP6 先修班 JSON实例代码
- 关于JSON以及JSON在PHP中的应用技巧
- .Net中的json操作类用法分析
- JavaScript中字符串(string)转json的2种方法
- js Object2String方便查看js对象内容
- C#中的DataSet、string、DataTable、对象转换成Json的实现代码
- Json实现异步请求提交评论无需跳转其他页面
- javascript中JSON对象与JSON字符串相互转换实例