Thy*_*hys 2 json jax-rs jersey
目前我正在尝试创建一个只返回列表的Web服务;
@Path("/random")
@Singleton
public class Random
{
@GET
@Path("/")
@Produces(MediaType.APPLICATION_JSON)
public MyResult<String> test()
{
MyResult<String> test = new MyResult<String>();
test.add("Awesome");
return test;
}
}
Run Code Online (Sandbox Code Playgroud)
我的MyResult类看起来像这样:
@XmlRootElement
public class MyResult<T> implements Iterable<T>
{
private ArrayList<T> _items;
private int _total;
public MyResult()
{
_items = new ArrayList<T>();
}
public ArrayList<T> getItems()
{
return _items;
}
public void setItems(ArrayList<T> items)
{
_items = items;
}
public int getTotal()
{
return _total;
}
public void setTotal(int total)
{
_total = total;
}
public void add(T item)
{
getItems().add(item);
}
public Iterator<T> iterator()
{
return getItems().iterator();
}
}
Run Code Online (Sandbox Code Playgroud)
现在我从服务中得到以下结果:
{"items":[{"@type":"xs:string","$":"Awesome"}],"total":"0"}
Run Code Online (Sandbox Code Playgroud)
但我不想要任何这些信息,我只需要这个:
{"items":["Awesome"],"total":"0"}
Run Code Online (Sandbox Code Playgroud)
在我看来,这需要一些配置,谁知道如何获得所需的结果?
假设您使用的是jackson,请查看@JsonTypeInfo注释.它用于配置是否以及如何使用类型信息与JSON序列化和反序列化的详细信息.它的用途和行为取决于您使用的jackson版本.
| 归档时间: |
|
| 查看次数: |
1882 次 |
| 最近记录: |