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
    26 days 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 days 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 days 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 days 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