java.text.ParseException:不可解析日期“;2014年9月12日星期五23:22:46;

java.text.ParseException:不可解析日期“;2014年9月12日星期五23:22:46;,java,json,jackson,simpledateformat,mongo-jackson-mapper,Java,Json,Jackson,Simpledateformat,Mongo Jackson Mapper,我使用jackson mapper将json请求直接映射到java对象。为了映射日期,我分别在getter和setter中使用CustomDateSerializer和CustomDateDeSerializer public class CustomJsonDateSerializer extends JsonSerializer<Date> { @Override public void serialize(Date date, JsonGenerator jso

我使用jackson mapper将json请求直接映射到java对象。为了映射日期,我分别在getter和setter中使用CustomDateSerializer和CustomDateDeSerializer

public class CustomJsonDateSerializer extends JsonSerializer<Date> {
    @Override
    public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
        String dateString = simpleDateFormat.format(date);
        jsonGenerator.writeString(dateString);
    }
}


public class CustomJsonDateDeserializer extends JsonDeserializer<Date> {
    @Override
    public Date deserialize(JsonParser jsonparser,
                            DeserializationContext deserializationcontext) throws IOException {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
        String date = jsonparser.getText();
        try {
            return format.parse(date);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
    }
}
例外情况:

Could not read JSON: java.text.ParseException: Unparseable date: "Fri Sep 12 23:22:46 IST 2014" 
有人能帮我修一下吗

SimpleDateFormat=newsimpledateformat(“yyyy-MM-dd'T'HH:MM:ss.SSSZ”)

改变

SimpleDateFormat=newsimpledateformat(“yyyy-MM-dd'T'HH:MM:ss.SSSZ”)

改变

SimpleDateFormat=newsimpledateformat(“yyyy-MM-dd'T'HH:MM:ss.SSSZ”)

改变

SimpleDateFormat=newsimpledateformat(“yyyy-MM-dd'T'HH:MM:ss.SSSZ”)


您定义的格式为:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
但是,它所期望的格式似乎不一样(Fri Sep 12 23:22:46 IST 2014

应该是这样的:

SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd hh:mm:ss Z yyyy",Locale.ENGLISH);
检查


您定义的格式是:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
但是,它所期望的格式似乎不一样(Fri Sep 12 23:22:46 IST 2014

应该是这样的:

SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd hh:mm:ss Z yyyy",Locale.ENGLISH);
检查


您定义的格式是:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
但是,它所期望的格式似乎不一样(Fri Sep 12 23:22:46 IST 2014

应该是这样的:

SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd hh:mm:ss Z yyyy",Locale.ENGLISH);
检查


您定义的格式是:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
但是,它所期望的格式似乎不一样(Fri Sep 12 23:22:46 IST 2014

应该是这样的:

SimpleDateFormat format = new SimpleDateFormat("EEE MMM dd hh:mm:ss Z yyyy",Locale.ENGLISH);
检查


更改日期格式将其固定-“EEE MMM dd HH:mm:ss Z yyyy”

更改日期格式将其固定-“EEE MMM dd HH:mm:ss Z yyyy”

更改日期格式将其固定-“EEE MMM dd HH:mm:ss Z yyyy”

更改日期格式将其固定-“EEE MMM dd HH:mm:ss Z YYYYYY”

显然与该日期格式不匹配…哦,是的,我知道了,“EEE-MMM-dd-HH:mm:ss-Z-yyyy”这将与之匹配。它显然与日期格式不匹配…哦,是的,我知道了,“EEE-MMM-dd-HH:mm:ss-Z-yyyy”这将与之匹配。它显然与日期格式不匹配…哦,是的,我知道了,“EEE-MMM-dd-HH:mm:ss-Z-yyyy”这会和它匹配的。它显然和日期格式不匹配…哦,是的,我知道了,“EEE-MMM-dd-HH:mm:ss-Z-yyyy”这会和它匹配。