简体   繁体   English

JsonGenerator写入对象和字符串字段

[英]JsonGenerator write object and string field

I'm trying to generate a JSON string from an object and adding a field on the same level. 我正在尝试从一个对象生成一个JSON字符串,并在同一级别上添加一个字段。

{
    "objField1": "objValue1",
    "objField2": "objValue2",
    "stringField": "stringValue"
}

Here's the code snippet: 这是代码片段:

PrintWriter writer = response.getWriter();
ObjectMapper mapper = new ObjectMapper();
JsonGenerator generator = mapper.getJsonFactory().createJsonGenerator(writer).useDefaultPrettyPrinter();
// mapper.writeValue(generator, responseObj); // tried this without success instead of the following
generator.writeObject(obj);
generator.writeStringField("stringField", "stringValue");
generator.close();
writer.close();

But all I get are the fields from my object: 但是我所得到的只是我对象的字段:

{
    "objField1": "objValue1",
    "objField2": "objValue2"
}
public void serialize(Object bean, JsonGenerator jgen,
                SerializerProvider provider) throws IOException,
                JsonGenerationException {           
            jgen.writeStartObject();                        
            serializeFields(bean, jgen, provider);
            jgen.writeStringField("extraField", "extraFieldValue"); 
            jgen.writeEndObject();
        }

look at this link: Jackson: How to add custom property to the JSON without modifying the POJO 查看此链接: Jackson:如何在不修改POJO的情况下将自定义属性添加到JSON

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM