Java 如何在RESTWeb服务中使用json生成http响应?
我希望在web服务中使用json进行响应,如下所示:Java 如何在RESTWeb服务中使用json生成http响应?,java,web-services,rest,mongodb,jersey,Java,Web Services,Rest,Mongodb,Jersey,我希望在web服务中使用json进行响应,如下所示: 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" : "/MyConta
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”
作为基本CDBObject或其他类型?我使用jersey框架和java编写web服务
谢谢在Jersey将对象序列化为JSON之前,您需要使用JAXB绑定注释对对象进行注释。下面是一个示例类,请注意,您可以使用@XmlType注释的proporter属性对元素重新排序。也可以为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;
}
}
@XmlRootElement
@XmlType(propoder={“name”,“elements”})
公共类ExampleObject实现了可序列化{
私有静态最终长serialVersionUID=1L;
私有集合元素=null;
私有字符串名称=null;
@XmlElementWrapper(name=“elements”)
@xmlement(name=“element”)
公共集合getElements(){
返回此元素;
}
公共字符串getName(){
返回此.name;
}
公共void集合元素(最终集合元素){
这个元素=元素;
}
public void setName(最终字符串名){
this.name=名称;
}
}
在Jersey将对象序列化为JSON之前,您需要使用JAXB绑定注释对对象进行注释。下面是一个示例类,请注意,您可以使用@XmlType注释的proporter属性对元素重新排序。也可以为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;
}
}
@XmlRootElement
@XmlType(propoder={“name”,“elements”})
公共类ExampleObject实现了可序列化{
私有静态最终长serialVersionUID=1L;
私有集合元素=null;
私有字符串名称=null;
@XmlElementWrapper(name=“elements”)
@xmlement(name=“element”)
公共集合getElements(){
返回此元素;
}
公共字符串getName(){
返回此.name;
}
公共void集合元素(最终集合元素){
这个元素=元素;
}
public void setName(最终字符串名){
this.name=名称;
}
}