我有一个返回对象列表的WCF服务,用于向Android应用程序返回数据。其中一个属性是DateTime属性。返回格式为JSON,我在Android端得到的日期格式为
我不知道如何使用Retrofit将字符串日期转换为Date对象。我查看了这个http://square.github.io/retrofit/下的Custom Converters部分,但不知道如何继续。这是我尝试过的,但我不知道如何实现转换器类。
创建restAdapter的方法如下:
/Date(1441117247253+0200)/
。我使用com.squareup.retrofit:retrofit:1.9.0从我的服务中获取数据。我不知道如何使用Retrofit将字符串日期转换为Date对象。我查看了这个http://square.github.io/retrofit/下的Custom Converters部分,但不知道如何继续。这是我尝试过的,但我不知道如何实现转换器类。
创建restAdapter的方法如下:
restAdapter = new RestAdapter.Builder()
.setConverter(new DotNetDateConverter())
.setLogLevel(RestAdapter.LogLevel.FULL)
.setEndpoint(API).build();
还有 DotNetDateConverter 类,我不知道如何进一步实现:
public class DotNetDateConverter implements Converter
{
@Override
public Object fromBody(TypedInput body, Type type) throws ConversionException
{
return null;
}
@Override
public TypedOutput toBody(Object object)
{
return null;
}
}
响应中有其他字段都是正确的,但是我该如何将/Date(1441117247253+0200)/
转换为一个合适的java.util.Date对象呢?如果没有转换器,我会得到com.google.gson.JsonSyntaxException:/Date(1441117247253+0200)/
,因为字符串无法转换为日期。
任何帮助都将不胜感激。
dateTimeProperty.ToString("client-supported-format")
。否则,你会写一个低级的JavaScript DateTime转换器来支持服务吗?既然你已经掌控了它,我不会这样做。 - DJ'