- cross-posted to:
- programmer_humor@programming.dev
- cross-posted to:
- programmer_humor@programming.dev
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…”
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
orfalse
). 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.
Wait, some people don’t know that??? It’s literally called “JavaScript Object Notation”.
Absolutely. Who doesn’t type JSON?
We aren’t using
json.atChar(17)
to get values?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.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.
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.
Great post, but I have to “well, actually” you on this little thing:
REST is not a protocol, and does not have to do anything with JSON.
(eg. How Did REST Come To Mean The Opposite of REST? by Carson Gross)