我正在尝试通过 Retrofit 和 SimpleXMLConverter 将 xml-answer 解析为带注释的对象,并且需要处理自定义格式的日期。
用Gson解析Json就很简单了。 只需传递带有在 GsonConverter 中设置的自定义日期格式的 GsonBuilder。
Converter converter = new GsonConverter(
new GsonBuilder().setDateFormat(CUSTOM_DATE_FORMAT_STRING).create()
);
RestAdapter.Builder builder = new RestAdapter.Builder()
.setEndpoint(URL)
.setConverter(converter);
但是当您处理 XML 和 SimpleXMLConverter 时,事情就没那么简单了。 有什么想法吗?
最佳答案
好吧,我找到的唯一选项是@Commit - 注释。 获取 Date 作为字符串,然后在 @Commit-annotated 方法中解析它:
public class ParsedObject {
private static final SimpleDateFormat SDF = new SimpleDateFormat(CUSTOM_DATE_FORMAT);
private Date mDate;
@Element(name = "date")
private String mXmlDate;
@Commit
private void parseDate() {
if(mXmlDate != null) {
try {
mDate = SDF.parse(mXmlDate);
} catch (ParseException e) {
// do something
} finally {
mXmlDate = null;
}
}
}
}
关于android - 如何在 SimpleXmlConverter 中为 Retrofit 1.9.0 设置自定义日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34256283/