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
    25 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
      35 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
        45 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
      link
      fedilink
      English
      1
      edit-2
      5 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