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

  • Ethan@programming.dev
    link
    fedilink
    English
    arrow-up
    34
    ·
    5 months ago

    That’s an artifact of JavaScript, not JSON. The JSON spec states that numbers are a sequence of digits with up to one decimal point. Implementations are not obligated to decode numbers as floating point. Go will happily decode into a 64-bit int, or into an arbitrary precision number.

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

      What that means is that you cannot rely on numbers in JSON. Just use strings.

      • JackbyDev@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 months ago

        Unless you’re dealing with some insanely flexible schema, you should be able to know what kind of number (int, double, and so on) a field should contain when deserializing a number field in JSON. Using a string does not provide any benefits here unless there’s some big in your deserialzation process.