GSON(JSON字符串转换成一个相等的Java对象)
Gson这个Java类库可以把Java对象转换成JSON,也可以把JSON字符串转换成一个相等的Java对象。Gson支持任意复杂Java对象包括没有源代码的对象。
代码例子:
util.Date和sql.Date被转成长整形用于序列化传输
public class SQLDateSer
ializer implements JsonSerializer<java.sql.Date> {
public JsonElement serialize(java.sql.Date src, Type typeOfSrc,
JsonSerializationContext context) {
return new JsonPrimitive(src.getTime());
}
}
public class UtilDateSerializer implements JsonSerializer<java.util.Date> {
public JsonElement serialize(java.util.Date src, Type typeOfSrc,
JsonSerializationContext context) {
return new JsonPrimitive(src.getTime());
}
}
public class SQLDateDeserializer implements JsonDeserializer<java.sql.Date> {
public java.sql.Date deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
return new java.sql.Date(json.getAsJsonPrimitive().getAsLong());
}
}
public class UtilDateDeserializer implements JsonDeserializer<java.util.Date> {
public java.util.Date deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
return new java.util.Date(json.getAsJsonPrimitive().getAsLong());
}
}
序列化反序列化类Worker.class
private String name;
private java.sql.Date dob;
private java.util.Date inTime;
序列化反序列化类Factory.class
private String name;
private Worker worker;
private Set<Worker> workers;
private List<Worker> lws;
序列化反序列化帮助类
public class JsonUtils {
public static String bean2json(Object bean) {
Gson gson = new GsonBuilder().registerTypeAdapter(java.sql.Date.class,
new SQLDateSerializer()).registerTypeAdapter(
java.util.Date.class, new UtilDateSerializer()).setDateFormat(
DateFormat.LONG).setPrettyPrinting().create();
// gson = new Gson();
return gson.toJson(bean);
}
public static <T> T json2bean(String json, Type type) {
Gson g
相关文档:
反射机制:所谓的反射机制就是java
语言在运行时拥
有一项自观的能力。通过这种能力可以彻底的了解自身的情况为下一步的动作做准备。下面具体介绍一下java
的反射机制。这里你将颠覆原来对java的理解。
Java的反射机制的实现要借助于4个类:class,Constructor,Field,Method;其中class代表的时类对
象,Constructo ......
Package 的命名
Package 的名字应该都是由一个小写单词组成。
Class 的命名
Class 的名字必须由大写字母开头而其他字母都小写的单词组成
Class 变量的命名
变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。
Static Final&nbs ......
今天看到某网友关于“如何以Java实现网页截图技术”的咨询帖,由于出现该咨询的地点非常不适合较长回复,故以博文形式回答。
事实上,如果您想以Java实现网页截图,也就是“输入一段网址,几秒钟过后就能截取一张网页缩略图”的效果。那么,您至少有3种方式可以选择。
1、最直接的方式—— ......
第二篇:Java堆和栈的区别 http://wangjc-opal.javaeye.com/blog/232457
Java把内存划分成两种:一种是栈内存,一种是堆内存。
在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。
当在一段代码块定义一个变量时,Java就在栈中 ......
这是一些相当不错的忠告!每个规则都很有分量!都是长期经验积累的总结,希望能对您有所帮助,使您编出高质量的JAVA代码。中文JAVA技术网fX
W,c6I/R!_3Bb
中文JAVA技术网6o9yV+M
u+V2Nfr5vm
(1)类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所
有单词都应紧靠 ......