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

  • Nithanim
    link
    fedilink
    arrow-up
    1
    ·
    5 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<T>. So the field would be null when undefined and an empty optional when null.