JSON and JSON Parse

:us: Technical opinion: JSON in Make

In Make, when I want to pass variables between nodes using JSON, I always run into the same situation:

  1. Create JSON generates a string in JSON format.
  2. Parse JSON converts that same string back into internal variables so it can be used in the next node.

This creates a point of friction. The JSON format already defines data types by itself (number, string, boolean). There shouldn’t be a need to declare a “structure” again to reinforce what is already implicit.

In practice, you end up doing double work: first defining the items, and then parsing what you just declared.

The consequence is that, to keep a clean flow, you almost always need to chain Create JSON + Parse JSON, which adds steps that could be simplified.

From a technical point of view, it would be more efficient if a single module offered both options: output as a string or output as a bundle of variables, depending on the need.

It’s just a technical opinion, but I think it could open an interesting debate on whether this design in Make is really the clearest and most useful for users who work with JSON on a regular basis.


Opinión técnica: JSON en Make

En Make, cuando quiero pasar variables entre nodos usando JSON, me encuentro siempre con la misma situaciĂłn:

  1. Create JSON genera un string en formato JSON.
  2. Parse JSON convierte ese mismo string nuevamente en variables internas para poder utilizarlas en el siguiente nodo.

Esto plantea un punto de fricción. El formato JSON ya define por sí mismo los tipos de datos (number, string, boolean). No haría falta declarar de nuevo una “estructura” para reforzar lo que ya está implícito. En la práctica, uno termina haciendo doble trabajo: primero definir los items y luego volver a parsear lo que uno mismo acaba de declarar.

La consecuencia es que, para mantener un flujo limpio, casi siempre hay que encadenar Create JSON + Parse JSON, lo que añade pasos que podrían simplificarse. Desde un punto de vista técnico, sería más eficiente que un único módulo ofreciera ambas posibilidades: salida como string o salida como bundle de variables, según necesidad.

Es solo una opinión técnica, pero creo que puede abrir un debate interesante sobre si este diseño en Make es realmente el más claro y útil para usuarios que trabajan con JSON de forma habitual.

1 Like

I’m guessing it’s created directly stringified to make it easier to use with APIs and it also becomes technology-agnostic.

That makes sense, and I see your point. A stringified JSON is indeed universal: any API, system, or platform can handle it without ambiguity. At the same time, within Make it feels like extra friction when the immediate goal is just to use the variables in the next module. Maybe that’s why I was thinking it would be more efficient if the same module could offer both: return a raw stringified JSON (for APIs or storage) or return an internal bundle of variables (for direct manipulation). That way, the user chooses the output according to the context.


:light_bulb:

Tiene sentido lo que dices: un JSON stringificado es universal y lo entienden todas las APIs y sistemas sin ambigüedad. Aun así, dentro de Make se siente como un paso extra cuando lo que uno quiere es simplemente usar las variables en el siguiente módulo. Por eso pensaba que sería más eficiente que el mismo módulo ofreciera ambas opciones: devolver un string JSON para APIs o almacenamiento, o bien devolver un bundle de variables para manipulación directa. Así el usuario decide según el contexto.