Meme transcription: Panel 1. Two images of JSON, one is the empty object, one is an object in which the key name maps to the value null. Caption: “Corporate needs you to find the difference between this picture and this picture”

Panel 2. The Java backend dev answers, “They’re the same picture.”

3 points

This is true in Lua as well (substituting ‘nil’ for 'null)

permalink
report
reply
10 points

Ah yes the difference between “unset” and “intentionally set to null”, the bane of API devs who work in languages that don’t inherently distinguish between the two.

permalink
report
reply
2 points
*

That’s not legal serialized json, in the context of how any lib in Java (that I’m aware of) would either parse or render it.

Ignore me, I misremembered, sorry about that.

permalink
report
reply
4 points

Both instances are legal serialized JSON. What makes you think otherwise?

permalink
report
parent
reply
7 points

Well. To Java that’s just a string of utf-8 characters, assuming you haven’t bastardised the encoding, and it’s just yanked out of an HTTP entity. So of course they’re different.

If you’re using some json parser and object mapping library (like Jackson) then all bets are off 'cause it could be configured any which way.

On every other language and library it’s whatever the defined behaviour is.

3/10

permalink
report
reply
8 points

If your Java dev is using Jackson to serialize to JSON, they might not be very experienced with Jackson, or they might think that a Java object with a null field would serialize to JSON with that field omitted. And on another project that might have been true, because Jackson can be configured globally to omit null properties. They can also fix this issue with annotations at the class/field level, most likely @JsonInclude(Include.NON\_NULL).

More details: https://www.baeldung.com/jackson-ignore-null-fields

permalink
report
reply

Programmer Humor

!programmerhumor@lemmy.ml

Create post

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.

Community stats

  • 4.3K

    Monthly active users

  • 943

    Posts

  • 10K

    Comments

Community moderators