gpt4 book ai didi

json - RESTEasy/Jettison,将 Java 对象作为没有根节点的 JSON 返回

转载 作者:行者123 更新时间:2023-12-05 01:35:27 25 4
gpt4 key购买 nike

我正在使用 RESTEasy 将 Java 对象作为 JSON 对象返回(它使用 Jettison Mapped Convention for JSON marshelling)。

但我不希望它返回根节点。

例如

@XmlRootElement
public class Car{
private Integer id;
private String name;
}

此类的对象将产生 JSON:
{"Car":{"id":6,"name":"someName"}}

因为它实际上来自
<Car>
<id>6</id>
<name>someName</name>
</Car>

但我不想要根节点。我只是想:
{"id":6,"name":"someName"}

所以我可以将它与像 Backbone.js 这样的客户端库一起使用

有什么方法(一些注释)可以在 JSON marshelling 上强制执行此操作?

山姆,

最佳答案

我面临着完全相同的问题。在做了一些研究之后,我发现人们建议使用 resteasy-jackson-provider 而不是 jettison。
有人声称抛弃有一些问题,而您所遇到的就是其中之一。我切换到 Jackson 并发现它解决了这个问题,可能还有一些我不知道的问题。
如果您使用的是 Maven:

<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>2.1.0.GA</version>
</dependency>

如果你这样做,你可能会看到抛弃之间的一些碰撞。为避免这些,请确保您的类路径上没有丢弃 jars。

关于json - RESTEasy/Jettison,将 Java 对象作为没有根节点的 JSON 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8225928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com