this post was submitted on 30 Jun 2024
284 points (94.9% liked)

Programmer Humor

19948 readers
1159 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 

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.”

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 15 points 6 months ago (18 children)

Thanks for the transcription!

Surely Java can tell the difference between a key with a null value and the absence of that key, no?

I mean, you can set up your deserialization to handle nulls in different ways, but a string to object dictionary would capture this, right?

[–] Nithanim 1 points 6 months ago

Java does not have the concept of "undefined", only "null". Also, json handling is only done via libraries so it also depends on what reads it. If the programmer defines the property as its type directly (here string), then the library reading has no way to convey the distinction between undefined or null. Either it uses null or throws. The jackson library can understand when the type is Optional. So the field would be null when undefined and an empty optional when null.

load more comments (17 replies)