【发布时间】:2017-09-29 07:52:57
【问题描述】:
考虑例子:
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 {
Object object = new Object() {
private String id = "someId";
};
final JsonGenerator generator = new JsonFactory().createGenerator(System.out);
generator.writeStartObject();
generator.writeFieldName("data");
generator.writeBinary(new FileInputStream(new File("D:\\!Temp\\elasticsearch\\pdf.pdf")), -1);
generator.writeEndObject();
generator.writeObject(object);
generator.close();
}
}
目标是在 json 流式传输期间添加来自 object 的所有字段。有了那个代码,我得到了:
{
"data": "JVBERi0xLjMKJ="
} {
"id": "someId",
}
如何告诉jackson 不要从对象中写入{}?
更新
预期结果是(例如data + java 对象的所有键):
{
"data": "JVBERi0xLjMKJ=",
"id": "someId",
}
【问题讨论】:
-
您提供了一个您不想要的数据示例(两个对象,因为您编写代码来生成两个对象,所以这完全可以理解)。那么你想要什么数据做?也举个例子吧。
-
问题已更新
-
你总是可以使用
ObjectMapperinsteed。
标签: java json jackson jackson2