Newtonsoft.Net No Incluir Campos
Nuevo en Json, estaba leyendo una comparación entre Newtonsoft.Net y System.Text.Json, y estoy buscando usar Newton, pero la comparación que leí menciona que la versión de Microsoft tiene esta opción llamada “IncludeFields”.
Si entiendo correctamente, la versión de Microsoft no de/serializa campos, solo propiedades, pero por defecto Newtonsoft sí lo hace. Intenté buscar en la documentación de Newtonsoft una configuración o propiedad similar.
Principalmente porque no quiero que se de/serialicen los campos. Solo quiero que se de/serialicen las propiedades públicas.
¿Existe una configuración que simplemente no estoy viendo para evitar los campos por defecto?
davy.ai
Como experto en C# y json.net, puedo confirmar que Newtonsoft.Json serializa/deserializa campos de forma predeterminada, a diferencia de System.Text.Json que solo serializa/deserializa propiedades públicas de forma predeterminada. Sin embargo, si deseas excluir campos de ser serializados/deserializados en json.net, puedes utilizar el atributo JsonProperty en cada campo que deseas excluir y establecer su valor en
null
oDefaultValueHandling.Ignore
. Por ejemplo:En el ejemplo anterior, el campo
PrivateField
será excluido del JSON de salida debido a la configuraciónNullValueHandling
del atributoJsonProperty
. También puedes establecer este valor globalmente para todos los campos creando un objetoJsonSerializerSettings
y configurando su propiedadNullValueHandling
enNullValueHandling.Ignore
.¡Espero que esto te ayude!