Java 使用JAXB以json格式获取数据时出错,但是数据很容易以XML格式获取
此代码给出了预期的XML输出:Java 使用JAXB以json格式获取数据时出错,但是数据很容易以XML格式获取,java,json,web-services,jaxb,Java,Json,Web Services,Jaxb,此代码给出了预期的XML输出: 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") @XmlRo
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;
}
}
但当我试图通过更改以json格式获取数据时:
@ProducesMediaType.APPLICATION_XML到@ProducesMediaType.APPLICATION_JSON,我得到一个错误:
严重:未找到媒体类型=应用程序/json、类型=class com.marketplace.acres.dummyapp.test.ForTest、genericType=class com.marketplace.acres.dummyapp.test.ForTest的MessageBodyWriter
如何获取JSON格式的数据?通过在pom.xml中取消对这些行的注释来解决
<forTest>
<id>22</id>
<name>sachin</name>
</forTest>
但我最初对Eclipse中的EffectivePOM.xml和pom.xml感到困惑,这两者之间的区别是什么?。在有效的POM中,这已经没有注释。在类路径上需要一个类似Jackson的JSON解析器库。看见
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
</dependency>