当前位置: 首页 > 面试题库 >

如何使用JAXB用Jersey 1.6产生JSON输出

舒枫涟
2023-03-14
问题内容
@XmlRootElement
public class Todo {
    private String s = "test";

    public String getS() {
        return s;
    }

    public void setS(String s) {
        this.s = s;
    }

}

和服务:

@Path("/test")
public class Service {

    @GET
    @Produces({MediaType.APPLICATION_JSON })
    public List<Todo> getAllGadgets() {
        return Arrays.asList(new Todo[] { new Todo() });
    }

}

我的web.xml:

<servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>com.test</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/rest/*</url-pattern>
</servlet-mapping>

如果我将MediaType.APPLICATION_XML设置为Produces注释,则所有这些工作都可以进行。但是对于JSON,我得到以下异常:

严重:映射的响应异常:500(内部服务器错误)javax.ws.rs.WebApplicationException:com.sun.jersey.api.MessageException:Java类java.util.Arrays
$ ArrayList和Java类型java的消息正文编写器.util.List和MIME媒体类型application / json未找到

我使用的是Jersey 1.6,根据该教程,JSON格式应该可以与JAXB一起使用,而无需任何其他编程。怎么了?


问题答案:

我解决了 我要做的就是将jersey-json-1.6.jar库添加到项目中(这不是jersey的一部分)



 类似资料:
  • 我正在尝试使用Spring 4实现REST服务。 该应用程序使用Java 7构建,并在Tomcat 7上运行。 REST方法将返回JSON格式的customer对象。应用程序是注释驱动的。 Customer类有JAXB注释。Jackson罐子出现在课堂路径中。据我所知,Jackson将使用JAXB注释生成JSON。 客户类别: 我已经将REST服务类注释为@RestController(根据Spr

  • 问题内容: 我之前从未使用过JSON,并且尝试使用以下javascript:http : //jqueryselectcombo.googlecode.com/files/jquery.selectCombo1.2.6.js 它需要以下格式的JSON输出: 您能否指导我举一个有关如何使用PHP生成上述JSON输出的示例? 问题答案: 最简单的方法可能是从所需的对的关联数组开始: 然后使用forea

  • 问题内容: 现在,我已经知道了如何使用JAXB生成JSON,我可以在服务器上请求/响应它,并且我想弄清楚如何为不使用Java的人生成有用的文档。我的服务器代码如下: 如果有人使用Java,那就太好了。我只给他们其中包含课程的Jar,然后告诉他们将其发送过来(是的,还有更多工作要做,请忽略那些细节)。 如果他们使用其他语言,我不知道该如何告诉他们有效负载的格式,以及如果服务器返回,服务器将期望什么。

  • 问题内容: 我正在研究的项目使用JAXB参考实现,即类来自软件包。 我有一堂课: 我想使用JAXB编组器来获取对象的JSON表示形式: 封送处理的数据为XML格式,而不是JSON格式。如何指示 JAXB参考实现 输出JSON? 问题答案: JAXB参考实现不支持JSON,您需要添加一个包,例如Jackson或Moxy 莫西 杰克逊 在这里查看示例

  • 假设我们有下面的Jade源码: - var title = 'yay' h1.title #{title} p Just an example 当 compileDebug 选项不是false, Jade 会编译时会把函数里加上 __.lineno = n;, 这个参数会在编译出错时传递给rethrow(), 而这个函数会在Jade初始输出时给出一个有用的错误信息。 function anonym

  • 下面列出的代码不允许创建新书对象,即使有构造函数也不行。我得到了一个NullPointerException,我想这是因为我在初始化对象时出错了。最终目标是创建一个程序,询问用户是否要创建新的图书对象,当用户说“是”时,它会返回并创建另一个图书对象。