google的东西向来以简洁唯美gson也是如此:
private static Gson gson = new GsonBuilder().setDateFormat(
"yyyy-MM-dd HH:mm:ss").disableHtmlEscaping().create();
接下来:
return gson.toJson(src);
return gson.fromJson(json, clazz);
分别是变成json或者来自json,是不是相当简单?
不过在使用当中也发现一些问题,当然也许是我不会用,就是fromjson有些问题,主要来自于:
new TypeToken<List<Long>>
在fromJson时需要指定类型,如果不指定类型,对于复杂对象转换不指定类型就会报错的,实际上按照我的理解,完全可以理解gson为String和String和Collection(String)转换(注意json中其实还是有数字类型的,这里只是方便期间我觉得这么搞),但是很可惜gson是不会自动调用对象的toString的,也因此必须要指定类型,但这样对bean就会有一个重大限制,比如你的bean中所有对象的类型是要统一的,比如:
type = new TypeToken<Map<String, String>>() {
}.getType();
这里构造了一个一个json到string,string的map对象,然后再通过beanutil得到bean
type = new TypeToken<List<Map<String, String>>>() {
}.getType();
List<T> ret = new ArrayList<T>();
List<Map<String, String>> tempObj = gson.fromJson(json, type);
for (Map<String, String> item : tempObj) {
try {
T obj = clazz.newInstance();
for (String key : item.keySet()) {
String value = item.get(key);
BeanUtils.setProperty(obj, key, value);
}
ret.add(obj);
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这个方法看起来有点sb但是似乎试了半天也只能如此,不知道是不是我文档没有详尽的原因,这个留在以后再找答案了.
分享到:
相关推荐
非常详细的json使用方法。包括对象和json之间的相互转换,集合和json之间的相互转换,自己按照节点解析。gson功能真的很强大。
android Gson使用实例 注释详细
Gson的基本使用,特点:a、快速、高效b、代码量少、简洁c、面向对象d、数据传递和解析方便
Gson是Google的一个开源项目,可以将Java对象转换成JSON,也可能将JSON转换成Java对象。 Gson里最重要的对象有2个Gson 和 GsonBuilder Gson有2个最基本的方法 1) toJson() – 转换java 对象到JSON 2) from...
gson使用.docgson使用.docgson使用.doc
Gson 是 Google 推出的一款 Java 语言编写的 JSON 库,它允许开发者将 Java 对象转换成 JSON 格式的字符串,反之亦然。Gson 库的强大之处在于其灵活性和简洁性,使得 JSON 序列化和反序列化变得更加简单。 首先,让...
使用Gson解析Json和Json数组,通俗易懂
本篇将详细介绍在Maven项目中如何使用Gson库。 首先,要在Maven项目中引入Gson库,我们需要在项目的`pom.xml`文件中添加对应的依赖。打开`pom.xml`,在`<dependencies>`标签内加入以下代码: ```xml <groupId>...
本篇文章将详细讲解如何使用Gson库进行字符串与对象、列表与字符串以及对象与字符串之间的转换。 1. 字符串到对象的转换(String -> Object) 当你从网络API或其他来源获取到一个JSON格式的字符串,你可以使用Gson...
介绍:Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. 压缩包里有以下文件: ...
使用gson解析json的一次测试使用
赠送jar包:gson-2.8.6.jar; 赠送原API文档:gson-2.8.6-javadoc.jar; 赠送源代码:gson-2.8.6-sources.jar; 赠送Maven依赖信息文件:gson-2.8.6.pom; 包含翻译后的API文档:gson-2.8.6-javadoc-API文档-中文...
om.google.code.gson/gson/2.6.2 Gson maven依赖 java 开发包
一个例子快速掌握Gson的基本使用方法 an example showing how to use Gson to accelerate development 对应的博客地址:http://blog.csdn.net/leoleohan/article/details/50886707
Android Studio下使用Google Gson解析Json数据示例
赠送jar包:gson-2.8.0.jar; 赠送原API文档:gson-2.8.0-javadoc.jar; 赠送源代码:gson-2.8.0-sources.jar; 赠送Maven依赖信息文件:gson-2.8.0.pom; 包含翻译后的API文档:gson-2.8.0-javadoc-API文档-中文...
用户列表对象,使用JSONObject jsonStu = JSONObject.fromObject(list); 就会报错,因为对于嵌套类型的json它是解释不出来的,这时就需要用到com.google.gson.Gson.jar了。资源中提供了jar包与代码示例,一句代码...
com.google.gson.Gson 2.8.1 2.8.2 jar包 gson,直接解压到maven仓库,或者提取里面的jar包都可以使用
原生态打造android中获取json数据和解析json数据的例子。使用的android中自带的gson,不过可能会不稳定有时候