我将直接从我的问题开始,稍后我会提供更多背景信息。将LinkedHashMap <String,String>转换为Java中的对象
简单:我有一个LinkedHashMap<String, String>
它代表一个特定的对象。 将其转换为该对象的最佳方式是什么?
我知道您可以使用泛型来获取所有元素并设置字段,但什么是嵌套对象?
背景:我有一个使用JSON对象的JAX-RS服务。我的服务处理不同类型的对象,只是表示一个接口。所以我不知道哪些对象来自外部,哪些程序正在使用我的服务。
在运行时,我通过我的界面上的@Inject
获取信息。 JAX-RS服务将来自客户端的数据存储在无类型的对象中并自动完成(即LinkedHashMap<String, String>
)。
随着我的界面我想提供一个像setObject
和参数应该是该类型的对象的方法。我可以处理所有这些,但不是将对象LinkedHashMap<String, String>
转换为该特定对象的部分。
示例结构: 的目标对象可能喜欢
public class Document {
private String title;
private String id;
private int version;
}
的LinkedHashMap
看起来像
{title=some title, id=1, version=1}
为什么不能直接使用'HashMap'呢? – mercutio
您是否使用过Google库来协助将JSON转换为Java对象?你不能一个人想要这样做。 –
使用HashMap有什么好处@mercutio –