2011-05-25 101 views
1

我要回應在這樣的Web服務使用JSON:如何在REST Web服務中使用json生成http響應?

HTTP/1.1 200 OK 
Content-Type: application/vnd.org.snia.cdmi.dataobject+json 
X-CDMI-Specification-Version: 1.0 
{ 
"objectURI" : "/MyContainer/MyDataObject.txt", 
"objectID" : "AABwbQAQb/ENV52Ai8a3MA==", 
"parentURI" : "/MyContainer/", 
"mimetype" : "text/plain", 
"metadata" : { 
"cdmi_size" : "17" 
}, 
"valuerange" : "0-17", 
"value" : "Hello CDMI World!" 
} 

但現在我只能顯示像

HTTP/1.1 200 OK 
Content-Type: application/vnd.org.snia.cdmi.dataobject+json 
X-CDMI-Specification-Version: 1.0 
{ 
"objectURI" : "/MyContainer/MyDataObject.txt", 
"objectID" : "AABwbQAQb/ENV52Ai8a3MA==", 
"parentURI" : "/MyContainer/", 
} 

如何把"meta" : {....}"mimetype"後從上面。而如何讓"meta"BasicDBObject或其他類型?我使用jersey框架和java編寫web服務。

感謝

回答

1

您將需要使用JAXB綁定註釋來註釋對象澤西他們序列化爲JSON之前。下面是一個示例類,請注意,您可以使用@XmlType註釋的propOrder屬性重新排序元素。也可以給它們的方法名以外的XML元素名稱。

@XmlRootElement 
@XmlType(propOrder = { "name", "elements" }) 
public class ExampleObject implements Serializable { 

    private static final long serialVersionUID = 1L; 
    private Collection<String> elements = null; 
    private String name = null; 

    @XmlElementWrapper(name = "elements") 
    @XmlElement(name = "element") 
    public Collection<String> getElements() { 
     return this.elements; 
    } 

    public String getName() { 
     return this.name; 
    } 

    public void setElements(final Collection<String> elements) { 
      this.elements = elements; 
    } 

    public void setName(final String name) { 
      this.name = name; 
    } 

} 
相關問題