我对漂亮的客户端模块有问题。我正在为rest客户端创建响应类型,以便能够将响应解锁为一个对象。但是后来我意识到我做不到。响应中有连字符字段名,这阻止了我用这个字段名创建一个类。
下面是JSON响应的示例:
{
....
created-by: "Wikipedia",
last-updated-by: "Wikipedia",
create-date: "2010-11-21 13:55:37",
last-update-date: "2010-11-21 13:55:37",
...
}因此,在这种情况下,我不能做一个类,例如:
class ResponseType{
private String created-by; //NOT A VALID VARIABLE NAME
...
}我试图从许多论坛得到答案,但我没有找到解决办法。我发现很多地方的人都建议在球场上加上注释,比如:
@JsonProperty("created-by")
private String created_by;但是它没有起作用,因为模板没有这个注释。
我想要做到的是:
String url = "http://mymemory.translated.net/api/get?q=accidentally&langpair=en|hu";
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
ResponseType responseType = restTemplate.getForObject(url, ResponseType.class, "Android");我很好奇解决办法是什么。期待答案!
发布于 2014-01-24 10:29:56
最后我发现了这个问题。
问题是模块有一个依赖关系。尤其是第三方图书馆。
让我粘贴文档的一部分:
2.2.3在中将对象转换为JSON封送处理对象需要使用第三方RestTemplate映射库。Spring支持Android、Jackson处理器、Jackson2.x和Google三个库。虽然Jackson是一个众所周知的JSON解析库,但是Gson库更小,这将导致一个更小的Android应用程序。
粘贴自http://docs.spring.io/spring-android/docs/1.0.1.RELEASE/reference/html/rest-template.html#rest-template-message-converters
https://stackoverflow.com/questions/21311483
复制相似问题