jsonEncode

jsonEncode

> Funciones

Codifica el objeto object en una cadena JSON.

Parámetros
Retorno
TypeScript

En JavaScript, JSON.stringify(value) pasa en silencio lo que no sabe escribir, en lugar de señalarlo: un Map y un Set dan ambos {}, y una propiedad que vale undefined desaparece del objeto — dentro de un array, se convierte en null. Convierta pues sus tablas antes de codificar: Object.fromEntries(m) o [...m]. Y al leer, JSON.parse lanza un SyntaxError con JSON inválido, mientras que jsonDecode en LeekScript se limita a devolver null.

Python

En Python, json.dumps(value) lanza un TypeError sobre un valor que no sabe serializar, mientras que jsonEncode en LeekScript escribe un error en el registro y devuelve una cadena vacía. Es el caso de un set y de los objetos de la API de juego (Cell, Leek, Weapon): conviértalos antes, list(mon_set) o cellule.id. Otra diferencia, las claves de un diccionario se convierten en cadenas: json.dumps({1: 2}) vale '{"1": 2}'. Y al leer, json.loads lanza un JSONDecodeError con JSON inválido, mientras que jsonDecode devuelve null.