我将直接从问题开始,稍后再提供更多背景信息。
简单 :我有一个LinkedHashMap<String, String>
,它代表一个特定的对象。将其转换为该对象的最佳方法是什么?
我知道您可以使用泛型来遍历所有元素并设置字段,但是什么是嵌套对象呢?
背景 :我有一个使用JSON对象的JAX-
RS服务。我的服务处理不同类型的对象,仅代表一个接口。因此,我不知道哪些对象来自外部以及哪个程序正在使用我的服务。
在运行时,我通过@Inject
界面上的信息。JAX-
RS服务将来自客户端的数据存储在未类型化的Object中,并自动完成(即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}
您可以创建两个类
@XmlAccessorType(XmlAccessType.FIELD)
public class Document {
@XmlElement
private String title;
@XmlElement
private String id;
@XmlElement
private int version;
}
@XmlAccessorType(XmlAccessType.FIELD)
public class MapJson {
@XmlElement
private LinkedHashMap<String, String> documents;
}
和cobvert对象JSON usingg
杰克逊
new org.codehaus.jackson.map.ObjectMapper().writeValueAsString(instanceofMapJson);
谷歌JSON
new com.google.gson.Gson().toJson(instanceofMapJson);
PS。使用google json,您可以从类中删除xml批注
问题内容: 我有一个应用程序,该应用程序使用Jackson将我的复杂对象编组为JSON,从而在DynamoDB中存储一些数据。 例如,我要编组的对象可能如下所示: SomeObject可能看起来像这样: 和SomeOtherObject可能看起来像这样: 可以很好地将对象整理成问题并将其作为JSON字符串存储在数据库中。 当需要从DynamoDB检索数据时,Jackson会自动检索JSON并将其转
某个物体可能看起来像这样: 另一个物体可能是这样的: 这很好,因为对象被封送,没有问题,并以JSON字符串的形式存储在DB中。
如何将对象转换为
我有一个JSF应用程序,除了调用ManagedBean中以对象为参数的方法外,其他一切都运行得很好: 在SCONTR中: 所有没有自己定义的对象的方法都可以工作(例如,映射、字符串、列表等),访问xhtml中的对象甚至子对象就像一个魅力。 但是,调用此deletePrivilege会导致: 因此,出于某种原因,JSF无法将LinkedHashMap自动转换回用于呈现页面的类的实例。 faces-c
问题内容: 我正在使用Jongo与Mongo一起工作,当我执行查询时会收到结果。 问题是,如果json是content ,它将不是from的唯一方法。 我如何获得原件? 我没有要映射的地图,也不是创建类的解决方案,这就是为什么我使用 问题答案: 如果您可以访问某些JSON库,那似乎就是这样。 如果使用org.json库,请使用: 如果是Gson,请使用@hellboy提到的方法:
我正在寻找更好的性能(转换时间应该非常少)。 本文显示的是来自这个答案的不同API之间的性能统计。 例如,我的发现是我提到的第一个链接(只有很少的记录): null 请帮帮我。