es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo modificar el valor de una propiedad en un texto JSON en C#?

Tengo un servicio que recibe algunos datos con una estructura aleatoria en formato JSON y persiste estos datos en una base de datos basada en documentos. No tengo control sobre los servicios de envío y hay algunos datos sensibles que no deben persistirse en mi base de datos. Solo quiero filtrar esos campos y reemplazar sus valores con algunos caracteres de enmascaramiento. ¿Existe alguna solución incorporada en dotnet5 sin necesidad de agregar bibliotecas de terceros como json.net o Json Newtonsoft?

No puedo deserializar el JSON entrante a una clase de tipo estático porque no tengo idea de cuántos tipos diferentes se envían desde otros servicios. Además, trabajar con reflexión y tipificación dinámica tiene sus propias penalizaciones de rendimiento.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, no existe una solución integrada en dotnet5 para filtrar y reemplazar datos sensibles en JSON sin utilizar bibliotecas de terceros como Json.NET o Newtonsoft.Json. Dado que los datos entrantes tienen una estructura aleatoria, deserializarlos en una clase de tipo estático no es una opción viable. Incluso trabajar con reflexión y tipado dinámico puede causar penalizaciones de rendimiento.

    Una posible solución podría ser utilizar un convertidor JSON personalizado que filtre los datos sensibles durante la serialización. Esto implicaría escribir código personalizado que traverse el objeto JSON y reemplace los campos sensibles con caracteres enmascarados antes de serializarlo. Sin embargo, esta solución seguiría requiriendo trabajar con bibliotecas de terceros y agregar código personalizado a su proyecto.

    Otra opción podría ser utilizar las APIs de protección de datos de .NET para cifrar los campos sensibles antes de almacenarlos en la base de datos. Este enfoque asegura que los datos permanezcan cifrados en la base de datos y solo puedan descifrarse por partes autorizadas.

    En resumen, si bien no existe una solución integrada para filtrar datos sensibles en JSON en .NET 5, existen varias opciones disponibles que pueden ayudarlo a lograr su objetivo.

Comments are closed.