On Sun, Oct 14, 2018 at 12:58 PM Volkan Yazıcı <volkan.yaz...@gmail.com> wrote:
>
> God bless you Tatu! Worked like a charm!
> Given below snippet, would you mind checking one more time that I am not 
> doing something stupid, please?
>
> public static void main(String[] args) throws IOException {
>
>     // Create the delegate.
>     ObjectMapper objectMapper = new ObjectMapper();
>     JsonFactory jsonFactory = new JsonFactory(objectMapper);
>     ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
>     JsonGenerator jsonGenerator = jsonFactory.createGenerator(outputStream);
>     NullExcludingTokenFilter tokenFilter = new NullExcludingTokenFilter();
>     FilteringGeneratorDelegate generatorDelegate = new 
> FilteringGeneratorDelegate(jsonGenerator, tokenFilter, true, true);
>
>     // Start the object.
>     generatorDelegate.writeStartObject();
>
>     // Write a non-empty field.
>     generatorDelegate.writeStringField("foo", "bar");
>
>     // Write a null-valued field.
>     generatorDelegate.writeFieldName("baz");
>     generatorDelegate.writeNull();
>
>     // Write {"x": {"y": []}}.
>     generatorDelegate.writeFieldName("x");
>     generatorDelegate.writeStartObject();
>     generatorDelegate.writeFieldName("y");
>     generatorDelegate.writeStartArray();
>     generatorDelegate.writeEndArray();
>     generatorDelegate.writeEndObject();
>
>     // End the object.
>     generatorDelegate.writeEndObject();
>
>     // Generate the JSON.
>     jsonGenerator.flush();
>     String json = outputStream.toString("UTF-8");
>     System.out.println(json);
>
> }
>
> private static class NullExcludingTokenFilter extends TokenFilter {
>
>     @Override
>     public boolean includeNull() {
>         return false;
>     }
>
> }

Ah! I had forgotten there actually already was this quite specific
filtering option!!! :-D

Yes, that looks legit, thank you for sharing.

-+ Tatu +-

>
>
>
>
> On Saturday, October 13, 2018 at 11:21:02 PM UTC+2, Tatu Saloranta wrote:
>>
>> On Sat, Oct 13, 2018 at 1:22 PM Volkan Yazıcı <volkan...@gmail.com> wrote>
>>
>> > While using `JsonGenerator`, how can I exclude empty/null/blank object 
>> > fields?
>> >
>> > (I have asked the very same question on SO as well, but could not get any 
>> > answer yet. Hence the cross-post.)
>>
>> By not writing them.
>>
>> That is, generator writes exactly what you ask it to. It is possible
>> to implement a `JsonGeneratorDelegate`
>> that could block calls, and in fact `FilteringGeneratorDelegate` does
>> this to allow structural exclusion/inclusion.
>>
>> -+ Tatu +-
>
> --
> You received this message because you are subscribed to the Google Groups 
> "jackson-user" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to jackson-user+unsubscr...@googlegroups.com.
> To post to this group, send email to jackson-user@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"jackson-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jackson-user+unsubscr...@googlegroups.com.
To post to this group, send email to jackson-user@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to