0

我不明白在 Ion 中应该如何使用 write(outputStream) 方法。我的目标是获得一个可以直接输入杰克逊的 InputStream,如下所示:

Response<OutputStream> response = Ion.with(context, "http://example.com/mydata.json").write(outputStream).withResponse().get();
MyModel m = jacksonJsonMapper.convertValue(inputStream, MyModel.class);

但是我不知道从哪里获取输入和输出流,以及如何将它们相互连接。

4

1 回答 1

0

好的,根据这个答案想出了一个解决方案:从 OutputStream 创建 InputStream 的最有效方法

看起来我想使用 PipedOutputStream 和 PipedInputStream。因为我们现在阻止从 InputStream 读取,我不再想阻止 Ion 调用,所以我删除了 .get()。最终代码如下所示:

PipedInputStream inputStream = new PipedInputStream();
PipedOutputStream outputStream = new PipedOutputStream(inputStream);
Ion.with(context, "http://example.com/mydata.json").write(outputStream).withResponse();
MyModel m = jacksonJsonMapper.convertValue(inputStream, MyModel.class);
于 2013-08-01T22:38:55.463 回答