this post was submitted on 30 Jun 2024
256 points (97.1% liked)

Programmer Humor

32410 readers
581 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

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

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 40 points 4 months ago* (last edited 4 months ago) (7 children)

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.

[–] [email protected] 12 points 4 months ago (4 children)

Absolutely. Who doesn’t type JSON?

[–] [email protected] 1 points 4 months ago* (last edited 4 months ago) (2 children)

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.

[–] [email protected] 1 points 4 months ago (1 children)

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.

[–] [email protected] 1 points 4 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.

load more comments (1 replies)
load more comments (3 replies)