0

我使用 Java 调用服务器以接收 json 信息,并且我想通过 Rest Web 服务检索该信息。现在我有这个代码:

public class consult {
  public static void consult1() the url that retrieves json);
    InputStream response = url.openStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(response));
        for (String line; (line = reader.readLine()) != null;) {
                System.out.println(line);

            }
    reader.close();
}

这在控制台上完美地显示了 Json,但是如何将信息设置为某个变量,以便当我在浏览器(/resources/consult/)中调用此 WS 时根据此 WS 显示信息?

@Path("/consult")
public class ConsultJSON {

@GET
@Produces ("application/json")
public String getInfo() throws MalformedURLException, IOException {
   return consult.consult1();
}
4

2 回答 2

1

我建议您查看本教程,了解如何实现 RESTful JSON 服务:

http://www.mkyong.com/webservices/jax-rs/integrate-jackson-with-resteasy/

正确设置背后的想法是您不需要从方法中返回序列化字符串。您只需返回一个域对象并指示框架通过注释对其进行序列化。

当然,您会在其中找到有关如何发布新对象或对其进行更新的示例(以 JSON 格式)。

于 2012-05-22T21:58:57.543 回答
0

实际上,您确实应该将 InputStream 从响应直接传输到您的 OutputStream。在 IOUtils / DataFetcher 中的 TUS 中有自动执行此管道的工具:http: //tus.svn.sourceforge.net/viewvc/tus/tjacobs/io/

于 2012-05-22T21:55:35.007 回答