Když dekódujete číslo s desetiným místem, logicky chcete float. Když číslo bez desetiného místa, tak vám může být jedno co dostanete.
Ne a ne. Jestli se JSON "3.0" vyparsuje jako int nebo float je
nedefinované. Naopak zakódovat int 3 jako 3.0 je plně legitimní. Z čeho a jak plyne, že "logicky chci float", to fakt nevím. Od serializačního formátu především chci, abych z něj dostal to, co jsem do něj dal. Pokud to neplatí ani pro základní věc jako číslo, je to prostě debilní serializační formát a není o čem diskutovat.
JSON se rozšířil, protože je jednoduchý. Když vám nevyhovuje, alternativy existují.
Netvrdil jsem, že neexistují.
Kdyz jsou u tebe typy smysl vesmiru
Ne nejsou. Pro mě je smyslem serializace, aby z ní lezlo to, co do ní dám, a nemusel jsem kolem toho dělat milion opiček.
Jaký je rozdíl mezi atomem a stringem?
Asi tak stejný jako mezi stringem a intem.