0
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输出:错误但是数据是XML格式轻松获取
<forTest>
<id>22</id>
<name>sachin</name>
</forTest>
但是,当我试图让JSON格式的数据通过改变:
@Produces(MediaType.APPLICATION_XML)到@Produces(MediaType.APPLICATION_JSON),我得到一个错误:
重度:MessageBodyWriter未找到媒体类型=应用/ JSON, type = class com.marketplace.acres.dummyapp.test.ForTest,genericType = class com.marketplace.acres.dummyapp.test.ForTest。
如何获取JSON格式的数据?
您需要在类路径上使用JSON解析器库(如Jackson)。请参阅http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/ – hotzst