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

  • Semperverus@lemmy.world
    link
    fedilink
    English
    arrow-up
    40
    ·
    edit-2
    6 months ago

    JSON has types.

    Many API developers may choose not to use them, but they are absolutely there.

    You specify the type by including or excluding quotation marks, and then for the types without quotation marks, you either include or exclude a decimal point to specify float or integer, and for boolean you use characters (specifically true or false). Arrays are wrapped in [] and objects are wrapped in {}.

    JSON data as a whole is passed as one giant string because the REST protocol demands it. But once it’s been pulled in and properly interpreted, there are absolutely types in the data.

      • Semperverus@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        6 months ago

        I’m not sure if i’m missing a joke here, so:

        In case you’re making a joke: The people who don’t type JSON are using controllers.

        In case you’re asking a serious question: the people who don’t type JSON are the people in OP’s image. They are technically using types, but that type is literally always string. They don’t use integers, they don’t use booleans. This is functional but may not be the best choice, depending on what kinds of data their system is supposed to handle.

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

          Would you mind elaborating a bit for someone who doesn’t do much coding? I’m guessing I’m one of the people you’re talking about.

          The only coding I’ve done has been via json for raspberry pi, 3d printer, and homeassistant applications.

          I know it’s a text base language, but how do it’s commands relate to integers? I’ve used boolean, I get that bit.

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

            When passing or storing data in code you usually have to specify what type of data is it. An int is an integer, so numbers, there’s also boolean (true/false) and many others. There’s also string which is just characters of any kind (for the most part) which pretty much makes it a catch-all, since numbers can be a string along with letters and special characters.

            But to use a number as a number after it’s been received as a string it has to be converted to an int, which means extra code, more effort, more failure points etc etc.