一尘不染

如何通过RESTful Web服务正确生成JSON?

json

我是第一次编写Web服务。我基于Jersey创建了一个RESTful Web服务。而且我想
产生JSON 。我需要怎么做才能生成正确的Web服务的JSON类型?

这是我的方法之一:

@GET
@Path("/friends")
@Produces("application/json")
public String getFriends() {
    return "{'friends': ['Michael', 'Tom', 'Daniel', 'John', 'Nick']}";
}

仅指出@Produces("application/json")方法的注释就足够了吗?那么此方法可能返回任何类型的对象?还是只有String?我是否需要对这些对象进行其他处理或转换?

作为初学者,请帮助我解决这些问题。提前致谢!


阅读 311

收藏
2020-07-27

共1个答案

一尘不染

您可以使用jaxb注释来注释bean。

  @XmlRootElement
  public class MyJaxbBean {
    public String name;
    public int age;

    public MyJaxbBean() {} // JAXB needs this

    public MyJaxbBean(String name, int age) {
      this.name = name;
      this.age = age;
    }
  }

然后您的方法将如下所示:

   @GET @Produces("application/json")
   public MyJaxbBean getMyBean() {
      return new MyJaxbBean("Agamemnon", 32);
   }

在最新文档中有一章对此进行了介绍:

https://jersey.java.net/documentation/latest/user-
guide.html#json

2020-07-27