Hacker News new | ask | show | jobs
by napoleond 4927 days ago
Does anyone know the purpose of having both the "id" and "id_str" attributes?
3 comments

It's probably because modern tweet IDs are larger than a 32-bit integer. Presumably some JSON parsers aren't too hot on parsing bigints, so they give you the option of having a string instead.
Ahh, that makes sense. Thanks! (And thanks to andrewf as well!)
In Javascript (as well as Lua and PHP) ints are -- under the hood -- doubles. This means they can only represent a 53-bit int: outside that range they start to alias. You can see this in effect in a JS REPL:

10000000000000001 === 10000000000000000 True