sách gpt4 ăn đã đi

java - 将 LinkedHashMap 转换为 Java 中的对象

In lại 作者:搜寻专家 更新时间:2023-11-01 02:50:33 31 4
mua khóa gpt4 giày nike

我会直接从我的问题开始,稍后我会提供更多背景信息。

Đơn giản:我有一个 LinkedHashMap它代表一个特定的对象。将其转换为该对象的最佳方法是什么?

我知道您可以使用泛型来遍历所有元素并设置字段,但是什么是嵌套对象?

lý lịch:我有一个使用 JSON 对象的 JAX-RS 服务。我的服务处理不同种类的对象,只代表一个接口(interface)。所以我不知道哪些对象来自外部,哪些程序正在使用我的服务。

在运行时,我通过 @Inject 获取信息在我的界面上。 JAX-RS 服务将来自客户端的数据存储在一个非类型化对象中并自动完成(即 LinkedHashMap )。

在我的界面中,我想提供类似 setObject 的方法并且参数应该是该类型的对象。我可以处理所有这些,但不能处理我转换对象的部分 LinkedHashMap到那个特定的对象。

示例结构:目标对象可能会这样

public class Document {
chuỗi tiêu đề riêng tư;
chuỗi id riêng tư;
private int version;
}

Bản đồ LinkedHash看起来像这样

{title=some title, id=1, version=1}

câu trả lời hay nhất

你可以创建两个类

@XmlAccessorType(XmlAccessType.FIELD) 
public class Document {
@XmlElement
chuỗi tiêu đề riêng tư;
@XmlElement
chuỗi id riêng tư;
@XmlElement
private int version;
}


@XmlAccessorType(XmlAccessType.FIELD)
public class MapJson {
@XmlElement
private LinkedHashMap documents;
}

并使用g将对象转换为JSON
jackson

new org.codehaus.jackson.map.ObjectMapper().writeValueAsString(instanceofMapJson);  

谷歌 JSON

new com.google.gson.Gson().toJson(instanceofMapJson);  

附言。使用 google json,您可以从类中删除 xml 注释

关于java - 将 LinkedHashMap 转换为 Java 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12105687/

31 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress