org.kyojo.schemaorg.m3n3.gson.DateTimeDeserializer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kyojo-schemaorg-m3n3-gson Show documentation
Show all versions of kyojo-schemaorg-m3n3-gson Show documentation
A Java implementation of schema.org data structure
The newest version!
package org.kyojo.schemaorg.m3n3.gson;
import java.lang.reflect.Type;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.kyojo.gson.JsonDeserializationContext;
import org.kyojo.gson.JsonDeserializer;
import org.kyojo.gson.JsonElement;
import org.kyojo.gson.JsonParseException;
public class DateTimeDeserializer implements JsonDeserializer {
@Override
public Date deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext context)
throws JsonParseException {
if(jsonElement.isJsonNull() || jsonElement.getAsString().equals("")) {
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
try {
return sdf.parse(jsonElement.getAsString());
} catch(ParseException pe1) {
sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX");
try {
return sdf.parse(jsonElement.getAsString());
} catch(ParseException pe2) {
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return sdf.parse(jsonElement.getAsString());
} catch(ParseException pe3) {
sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
return sdf.parse(jsonElement.getAsString());
} catch(ParseException pe4) {
return null;
}
}
}
}
}
}