2012-03-02 76 views
1

我正在實現jersey寧靜的web服務來直接獲取JSON對象。爲此,我會傳遞一個字符串(以Json格式)。下面給出的是我想要實現的類代碼的結構。將JSON字符串直接注入到RESTFUL中的JSON對象

@POST 
@Produces(MediaType.APPLICATION_JSON) 
@Consumes({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON}) 
public JSON putToJson(JSON todo) 
{ 
    //********* 


    return todo; 
} 

請堅持我如何直接將JSON字符串直接注入到JSON對象中。

在此先感謝.......

回答

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; 
} 
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; 
} 
+0

非常感謝您的快速回復: ) 我做了DTO對象。但是在這裏,我將傳遞JSON字符串,並且只需將其轉換爲JSON對象。沒有預定義的DTO/Bean類。 – NamingException 2012-03-02 05:48:23