为什么杰克逊不能完成流的JSON创建?
问题描述:
我想写从流JSON用的base64领域的又一流这样的:为什么杰克逊不能完成流的JSON创建?
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;
import java.io.File;
import java.io.FileInputStream;
public class Exmaple {
public static void main (String[] args) throws Exception {
final JsonGenerator generator = new JsonFactory().createGenerator(System.out);
generator.writeStartObject();
generator.writeFieldName("data");
generator.writeBinary(new FileInputStream(new File("D:\\somePath\\pdf.pdf")), -1);
generator.writeEndObject();
}
}
相反pdf.pdf
,你可以使用任何文件。
但在outut我:
{"data":"JVBERi0xLjMKJcfsj6IKMzAgMCBvYmoKPD
- 没有
"
在结尾,尽管3210叫 - 没有
=
或==
在BASE64 结束
- 没有
}
在对象的末尾
为什么它发生了吗?如何解决这个问题?
答
需要添加导致冲洗流的generator.close()
调用。
请提供[mcve]。 –
你可能想关闭'JsonGenerator'。 –
是的关闭 - 是解决方案:) – Cherry