Por qué JSON.stringify elimina valores undefined

Descubre por qué JSON.stringify elimina los valores undefined y cómo solucionarlo. Aprende a usar replacer y evita errores en APIs y bases de datos.

2 jun 2026 • 4 min read • Q2BSTUDIO Team

Cómo evitar que undefined desaparezca al serializar JSON

Cuando trabajamos con objetos JavaScript y los convertimos a JSON mediante JSON.stringify(), muchos desarrolladores se llevan una desagradable sorpresa al comprobar que las propiedades con valor undefined desaparecen sin previo aviso. No se produce ningún error, ninguna advertencia, ningún rastro en la consola. Sencillamente, el campo deja de existir en la cadena JSON resultante. Este comportamiento, lejos de ser un bug, está estrictamente definido por la especificación JSON, que solo admite un conjunto limitado de tipos: cadenas, números, booleanos, nulos, objetos y arrays. undefined no forma parte de ese conjunto, por lo que el serializador lo omite de forma silenciosa. Comprender esta sutileza es crucial para evitar errores difíciles de depurar en entornos productivos, especialmente cuando se envían peticiones a APIs, se actualizan bases de datos o se generan logs de auditoría.

Imaginemos una aplicación que envía datos de perfil de usuario a un backend. Si el objeto contiene un campo email: undefined, tras la serialización ese campo desaparece, y el servidor recibe un objeto sin esa propiedad. La diferencia entre { email: null } y { } puede tener consecuencias muy distintas en operaciones de actualización parcial (PATCH). Un valor nulo podría interpretarse como 'eliminar el email', mientras que la ausencia del campo podría leerse como 'no modificar el email'. Para proyectos que requieren un control preciso de los datos, como los que desarrollamos en Q2BSTUDIO, esta distinción es fundamental. Por eso, al diseñar aplicaciones a medida, siempre definimos contratos claros entre cliente y servidor, estableciendo qué significa cada estado posible del campo.

La solución más común para evitar la desaparición de propiedades es convertir explícitamente los valores undefined a null mediante una función de reemplazo en el propio JSON.stringify. Por ejemplo, usar un segundo argumento que evalúe cada par clave-valor y sustituya undefined por null. Este enfoque, aunque sencillo, puede volverse tedioso en proyectos grandes. Por eso, en entornos profesionales se suele crear un serializador reutilizable, como una función safeStringify, que garantice un comportamiento homogéneo en todos los servicios. En Q2BSTUDIO, cuando implementamos servicios cloud AWS y Azure, integramos este tipo de utilidades en nuestras librerías internas para que la serialización de datos sea predecible y segura, especialmente en sistemas distribuidos que intercambian información entre microservicios.

Otro escenario donde esta peculiaridad pasa factura es en la persistencia con bases de datos orientadas a documentos, como MongoDB, o con ORMs como Prisma, Sequelize o TypeORM. Muchas de estas herramientas diferencian entre un campo ausente y un campo con valor nulo, y esa diferencia puede desencadenar comportamientos inesperados, como no actualizar un registro o eliminar un dato por error. Al auditar estos flujos en proyectos de inteligencia artificial o servicios inteligencia de negocio, hemos visto cómo un undefined mal gestionado puede corromper modelos de datos o alterar reportes en Power BI. Por ello, recomendamos validar y limpiar los objetos antes de serializarlos, usando funciones como removeUndefined que filtren explícitamente las propiedades no deseadas, haciendo visible la transformación.

Para equipos que desarrollan software a medida o integran agentes IA en sus procesos, la consistencia de los datos es un pilar de calidad. Algo tan aparentemente trivial como la desaparición de un campo puede provocar fallos en la lógica de negocio, generar inconsistencias en la caché o complicar la depuración de peticiones API. Por eso, en Q2BSTUDIO formamos a nuestros desarrolladores para que comprueben siempre el JSON final antes de enviarlo, utilizando console.log(JSON.stringify(payload)) en lugar de limitarse a inspeccionar el objeto original. Este simple hábito ahorra horas de troubleshooting, especialmente cuando se trabaja con ciberseguridad y pentesting, donde la integridad de cada campo puede ser crítica.

En definitiva, JSON.stringify no elimina valores undefined por capricho, sino por definición. La responsabilidad recae en el desarrollador para gestionar esa transformación de forma explícita. Ya sea usando un replacer, un serializador personalizado o una etapa de limpieza previa, lo importante es no dejar que la omisión silenciosa de campos ocasione bugs difíciles de rastrear. Si tu proyecto necesita un enfoque robusto y profesional para el manejo de datos, en Q2BSTUDIO ayudamos a empresas a diseñar arquitecturas eficientes que integren servicios cloud AWS y Azure, Power BI y IA para empresas, asegurando que cada byte tenga el significado correcto desde el cliente hasta la base de datos.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat