0

I'm trying to generate a JSON string from an object and adding a field on the same level.

{
    "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"
}
dtrunk
  • 4,685
  • 17
  • 65
  • 109

1 Answers1

2
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

Community
  • 1
  • 1
Kumaresan Perumal
  • 1,926
  • 2
  • 29
  • 35