Meme transcription:

Panel 1: Bilbo Baggins ponders, “After all… why should I care about the difference between int and String?

Panel 2: Bilbo Baggins is revealed to be an API developer. He continues, “JSON is always String, anyways…”

  • Aux@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    6 months ago

    Well, apart from float numbers and booleans, all other types can only be represented by a string in JSON. Date with timezone? String. BigNumber/Decimal? String. Enum? String. Everything is a string in JSON, so why bother?

    • RustyNova@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      6 months ago

      I got nothing against other types. Just numbers/misleading types.

      Although, enum variants shall have a label field for identification if they aren’t automatically inferable.

      • Aux@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        6 months ago

        Well, the issue is that JSON is based on JS types, but other languages can interpret the values in different ways. For example, Rust can interpret a number as a 64 bit int, but JS will always interpret a number as a double. So you cannot rely on numbers to represent data correctly between systems you don’t control or systems written in different languages.

    • lad@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      6 months ago

      No problem with strings in JSON, until some smart developer you get JSONs from decides to interchangeably use String and number, and maybe a boolean (but only false) to show that the value is not set, and of course null for a missing value that was supposed to be optional all along but go figure that it was