杰克逊为什么不从流中完成json创作?

时间:2017-09-28 15:30:17

标签: java json io jackson

我正在尝试使用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

但是我得到了:

{"data":"JVBERi0xLjMKJcfsj6IKMzAgMCBvYmoKPD
  • 尽管"被称为
  • ,但最后没有generator.writeEndObject()
  • base64末尾没有===
  • 对象末尾没有}

为什么会这样?如何解决这个???

1 个答案:

答案 0 :(得分:2)

需要添加导致刷新流的$id = DB::table('users')->insertGetId(["name"=>"Niklesh","email"=>"myemail@gmail.com"]); 调用。