我正在实施jersey restful web服务以直接获取JSON Object。为此,我将传递一个String(以Json格式)。下面给出了我想要实现的类代码的结构。
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
public JSON putToJson(JSON todo)
{
//*********
return todo;
}
请告诉我如何直接将JSON字符串直接注入JSON对象。
提前致谢.......
答案 0 :(得分:1)
根据我对你的问题的理解:
下面的代码会直接将JSON字符串注入JSONObject,您可以访问该对象
@POST
@Consumes("application/json")
@Produces("application/json")
public JSONObject putToJson(@FormParam("jsonString") JSONObject strJson) throws JSONException {
{
strJson.put("abc", "xyz");
return strJson;
}
答案 1 :(得分:0)
首先,您需要json运行时依赖项,如果您使用maven,请添加:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>${jersey-version}</version>
</dependency>
其次,用JAXB注释注释你的vo
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class VO implements Serializable {
@XmlElement
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
然后你可以直接返回vo。
@PUT
@Produces(MediaType.APPLICATION_JSON)
@Consumes({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
public VO putToJson(VO vo)
{
//*********
return vo;
}