this post was submitted on 30 Jun 2024
152 points (93.2% liked)

Programmer Humor

32896 readers
1430 users here now

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

Rules:

founded 5 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
[–] kakes 4 points 6 months ago (9 children)

Yeah, I'm also confused. If an attribute is null, I would prefer to simply not serialize it.

I'm sure there are edge cases where someone might prefer to include null attributes, but generally they should be treated the same either way.

[–] [email protected] 15 points 6 months ago (4 children)

If an attribute is null, I would prefer to simply not serialize it.

That’s interesting. I’m on the opposite team. If a customer model defines an optional birthday, for instance, I’d rather have it serialized as a null value if it’s not available for a specific customer.

[–] kakes 9 points 6 months ago (3 children)

The biggest reason for me is that it's less data to send over a network. Especially when I'm working with lists of objects, including null fields can add a noticeable chunk to the payload.

There are some cases where it might be worth it to differentiate "No value" and "No attribute", but in most cases they can be treated the same, since the data should really be validated against a schema anyway.

[–] [email protected] 1 points 6 months ago (1 children)

Depends on the application. When the user is able to set the schema via database, then you cannot assume the shape of the data.

[–] kakes 1 points 6 months ago (1 children)

I'm not sure I understand what you mean.

[–] [email protected] 2 points 6 months ago

Yeah, nevermind, I didn't know what I wrote either. I need my sleep lol.

load more comments (1 replies)
load more comments (1 replies)
load more comments (5 replies)