現在、リストを返すだけの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;
}
}
そして、私の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();
}
}
これで、サービスから次の結果が得られます。
{"items":[{"@type":"xs:string","$":"Awesome"}],"total":"0"}
しかし、私はこの情報のいずれも必要ありません、私はこれが必要です:
{"items":["Awesome"],"total":"0"}
これにはどこかでいくつかの構成が必要であるように思われますが、必要な結果を得る方法を知っている人はいますか?