【发布时间】:2018-09-26 16:46:20
【问题描述】:
这和我的帖子很相似……
JAXB Unmarshal JSON HTTP POST Parameters
除了在这种情况下,我需要解组我的 JSON,它不仅包含 HTTP POST 参数,还包含一个对象。考虑以下 JSON...
{
"client": "1",
"forTopic": "topic",
"MyObject":{
"name":"the name",
"id":1
}
}
client 和 forTopic 是 HTTP POST 参数。 MyObject 是我试图接收的对象。我想将参数与对象分开提取。
我可以通过设置一个包含 3 个字段的对象来做到这一点。字段 1 是客户端的字符串。字段 2 是 id 的 int。字段 3 是 MyObject theObject。
这让我可以把一切都拉好。但是,我不希望为每个具有参数的对象创建一个“包装器”类。有没有更好/正确的方法来做到这一点?通过从 JSON 中提取参数并留下 MyObject 的结果 JSON 然后解组,或者以某种方式指定深入挖掘 JSON 以解组的深度?我的每个对象的参数都相当一致。我只是不想为它们创建包装器。
也许另一种方式来问这个问题是使用 JAXB/Moxy 处理 JSON 中包含的 HTTP POST 参数的正确方法是什么?
编辑:
供参考。这是我的相关依赖项。
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
还有我的 jaxb.properties...
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory
【问题讨论】:
-
.JAXB 用于解组 XML,而不是用于解组 JSON。
-
@ThomasFritsch JAXB 可以使用我在帖子中提到的 Moxy 等附加技术来解组 JSON。请在我的原始帖子中查看我的链接或查看这里...stackoverflow.com/questions/38789307/…