1
我不確定我是否要求正確的事情,但是在序列化爲JSON的同時是否有可能使GSON Gson.toJson(...)
方法系列以「流模式」工作?比方說,有時也有使用Appendable
時的情況是不可能的:使用GSON將對象序列化爲JSON輸入流?
final String json = gson.toJson(value);
final byte[] bytes = json.getBytes(charset);
try (final InputStream inputStream = new ByteArrayInputStream(bytes)) {
inputStreamConsumer.accept(inputStream);
}
上面的例子是不完美的在這種情況下,這是因爲:
- 它生成的字符串
json
作爲臨時緩衝區。 json
字符串產生一個新的字節數組,只是爲了將它包裝到一個ByteArrayInputStream
實例中。
我認爲這不是寫一個CharSequence
到InputStream
適配器和擺脫創建字節數組克隆的一個大問題,但我仍然無法擺脫生成字符串臨時緩衝區,以有效地使用inputStreamConsumer
的。所以,我期望像這樣:
try (final InputStream inputStream = gson.toJsonInputStream(value)) {
inputStreamConsumer.accept(inputStream);
}
是否有可能以某種方式使用GSON?