大家。
在Spring Social Twitter中,我们使用RestTemplate.getObject<T>()
从 REST 端点检索和反序列化数据。它完成了它的工作并且非常整洁!但是它是如何做到这一点的呢?
如何将 JSON(源 1)转换为 .JAVA(源 2)。
- 来源 1:https://dev.twitter.com/overview/api/tweets
- 来源 2:https://github.com/spring-projects/spring-social-twitter/blob/master/spring-social-twitter/src/main/java/org/springframework/social/twitter/api/Tweet.java
当我注意到“坐标”位于 TweetData 内部,而不是作为 Tweet 的属性时,就出现了这个问题。
感谢您提前提供的帮助!
编辑 感谢 @Sotirios Delimanolis 先生的提示,我找到了进行反序列化的类和答案并将其发布。
最佳答案
Spring 使用 HttpMessageConverter
的集合将请求或响应正文内容转换为自定义类型的实例。对于 JSON 内容类型,Spring 有 MappingJackson2HttpMessageConverter
和 GsonHttpMessageConverter
(取决于您的版本)。
假设您的意思是 RestTemplate#getForObject
,您将目标类型指定为 Class 参数。 Spring 会将该目标类型传递给适当的转换器并执行反序列化。
关于java - 在 Spring Social Tweeter 中,JSON 如何成为 Tweet,以及 RestTemplate.getObject<T> 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29420349/