当前位置: 首页 > 知识库问答 >
问题:

使用JAXB以json格式获取数据时出错,但是数据很容易以XML格式获取

符鸿光
2023-03-14
package com.marketplace.acres.dummyapp.test;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.xml.bind.annotation.XmlRootElement;


@Path("/fortest")
@XmlRootElement
public class ForTest {
    public int id;
    public String name;

    public ForTest( ){

    }


    public ForTest(int id, String name){
        this.id = id;
        this.name = name;

    }



    @GET
    @Produces(MediaType.APPLICATION_XML)
    public ForTest getMessages(){
        ForTest emp1 = new ForTest(22,"sachin");
        return emp1;

        }
    }

此代码给出了预期的XML输出:

<forTest>
<id>22</id>
<name>sachin</name>
</forTest>

但当我试图通过更改以json格式获取数据时:

@产品(MediaType.APPLICATION_XML)到@产品(媒体类型。APPLICATION_JSON),我得到一个错误:

严重:未找到媒体类型为application/json,类型为class-com的MessageBodyWriter。市场。英亩。dummyapp。测验ForTest,genericType=class com。市场。英亩。dummyapp。测验福斯特。

如何获取JSON格式的数据?

共有1个答案

骆文彬
2023-03-14

通过在pom.xml中取消注释这些行来解决

    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-moxy</artifactId>
    </dependency>

但我一开始对有效的POM感到困惑。xml和pom。Eclipse中的xml两者之间的区别是什么?。在有效的POM中,这已经是未注释的。

 类似资料:
  • Spring Data Rest到底应该如何配置以返回普通JSON而不是HAL(带有超媒体链接的JSON) null

  • 我试图在我的应用程序中创建一个搜索功能,它基本上根据用户的查询(如任何产品名称)过滤json数据(如产品列表),并显示最接近的结果。我已经成功实现了这个搜索栏和过滤逻辑,但它是在我的应用程序中我的产品列表的本地json数据上工作的。我想要的是从网络调用(http调用)中获取json数据,然后进行过滤。但是我的实时数据库中有数据,我不知道如何以json格式检索它们。我可以设置云函数(节点js)来将j

  • <?php $assoc = true; // 为true时返回数组,为false时返回对象 $http = Yurun\Util\HttpRequest::newSession(); var_dump('jsonp:', $http->get('https://graph.qq.com/oauth2.0/token')->jsonp($assoc)); $http = Yurun\Util

  • JSON 数据格式 JSON 是 JavaScript Object Notation 的简称,是一种轻量的数据表示方法。json格式采用key:value的方式记录数据,非常直观,比XML简洁,因而大受欢迎 介绍json格式前,先让我们看看XML格式。显然,XML 得到了相当多的关注(正面和负面的评价都有),已经在 Ajax 应用程序中广泛使用: <request> <firstName>

  • 问题内容: 我将在Django中从AJAX请求中获取参数,这是我正在做的事情: base.html: main.js: views.py: 是的,我知道目前我的JS无法从文本形式获取真实数据,它仅发送静态文本“ MY TEXT”。但是当我按下按钮时,出现 “ MultiValueDictKeyError at /在“”中找不到“键’name’” 我做错了什么? 我更改了代码:main.js bas

  • 问题内容: 使用MVC模型,我想编写一个JsonResult,它将Json字符串流式传输到客户端,而不是一次将所有数据转换成Json字符串,然后将其流回客户端。我有一些动作需要在Json传输时发送非常大的记录(超过300,000条记录),我认为基本的JsonResult实现是不可伸缩的。 我正在使用Json.net,我想知道是否有一种方法可以在转换Json字符串时流化它的块。 但是我不确定如何将这