jsonEncode

jsonEncode

> Toiminnot

Koodaa olion object JSON-merkkijonoksi.

Parametrit
Paluuarvo
TypeScript

JavaScriptissä JSON.stringify(value) ohittaa vaiti sen, mitä se ei osaa kirjoittaa, sen sijaan että ilmoittaisi siitä: Map ja Set antavat molemmat {}, ja ominaisuus, jonka arvo on undefined, katoaa oliosta — taulukon sisällä siitä tulee null. Muunna siis taulusi ennen koodausta: Object.fromEntries(m) tai [...m]. Ja luettaessa JSON.parse nostaa SyntaxError-poikkeuksen kelvottomasta JSONista, kun taas jsonDecode LeekScriptissä vain palauttaa null.

Python

Pythonissa json.dumps(value) nostaa TypeError-poikkeuksen arvosta, jota se ei osaa sarjallistaa, kun taas jsonEncode LeekScriptissä kirjoittaa virheen lokiin ja palauttaa tyhjän merkkijonon. Näin käy set-joukolle ja pelin API:n olioille (Cell, Leek, Weapon): muunna ne ensin, list(mon_set) tai cellule.id. Toinen ero: sanakirjan avaimista tulee merkkijonoja, json.dumps({1: 2}) on '{"1": 2}'. Ja luettaessa json.loads nostaa JSONDecodeError-poikkeuksen kelvottomasta JSONista, kun taas jsonDecode palauttaa null.