Definici pro obecné použití máte?
Ano: pouziti kdekoli nejakyho joudu napadne.
Takže chcete, aby zase bylo na webu peklo nekompatibility všeho se vším...
Ty to fakt nechápeš? Pokud by prohížeč dostal bytecode, tak by ani nevěděl, z jakého jazyka vzniknul.
Marně vzpomínám, kdy jsem od vás na toto téma slyšel něco objektivního.
Rikam veci, ktere jsou overitelne a pripadne vyvratitelne. Jako napriklad, ze JSON podporuje velmi omezenou mnozinu typu, nepodporuje uzivatelske typy a timpadem je desne neprakticky pro pouziti v cemkoli jinem nez v JS.
WTF? A přirozená čísla nejsou podmnožinou N0, protože 64. člen první množiny je větší než u té druhé?!
Tak jo, jeste jednou a pomaleji:
Tvrzeni: JSON je nesikovny pro predavani dat kamkoli jinam nez mezi JS.
Priklad:
Python:
>>> import json
>>> json.dumps({"whatTheFuckIsThis": "account", "owner": "Cikada", "balance": 9007199254741091})
'{"owner": "Cikada", "balance": 9007199254741091, "whatTheFuckIsThis": "account"}'
JS:
JSON.parse('{"owner": "Cikada", "balance": 9007199254741091, "whatTheFuckIsThis": "account"}')
> Object {owner: "Cikada", balance: 9007199254741092, whatTheFuckIsThis: "account"}
Bezva. Zadna runtime chyba, zadne upozorneni, ze tohle JSON nepodporuje. Nic. Jenom se Cikadovi nepozorovane nafouklo konto. A ted mi muzete vsichni zacit vysvetlovat, ze JSON je v pohode, protoze ma number, jehoz je int podmnozinou, cili se vlastne vubec nic nedeje.
VLASTNE MOMENT! Dyt ja su debil - tohle prece vim, takze predem otestuju, jestli je cislo v nejakych hranicich. Ok. Tak fajn, neni. Cili to zakoduju do user typu. Oh wait! Ty JSON nema. Tak fajn. Co bych tak pouzil?! Dve cisla v poli? To ne, to by nekdo mohl naparsovat jako dve cisla v poli. Ok, takze objekt se spesl atributem. No jo, ale co kolize? Tak jo, vsechny objekty s takovym atributem zakoduju jako objekt v objektu! Aha, ale to je vlastne jenom muj vymysl a nikdo takovy format nepodporuje. To nevadi! Mam data v JSONu, takze dame na letak, ze jsme interoperabilni!