我不了解write(outputStream)方法应该如何在Ion中使用。我的目标是获得一个可以直接输入杰克逊的InputStream:
Response<OutputStream> response = Ion.with(context, "http://example.com/mydata.json").write(outputStream).withResponse().get();
MyModel m = jacksonJsonMapper.convertValue(inputStream, MyModel.class);
但我很遗憾输入和输出流的位置,以及如何将它们相互连接。
答案 0 :(得分:0)
好的,找出了基于这个答案的解决方案:Most efficient way to create InputStream from OutputStream
看起来我想使用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);