Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 1794|Respuesta: 7

[Consejos] Algunos consejos sobre System.Text.Json manipulando JSON

[Copiar enlace]
Publicado el 25-11-2024 08:39:50 | | | |
Antes de .NET Core 3.1, teníamos soporte para la serialización y deserialización de objetos requiriendo referencias a paquetes de terceros como Newtonsoft.Json, y ahora .NET ya tiene soporte integrado para operaciones JSON. El espacio de nombres System.Text.Json proporciona funcionalidad para serializar y deserializar notaciones de objetos JavaScript (JSON). La biblioteca System.Text.Json está incluida.NET Core 3.1 y versiones posterioresMedio.

JsonSerializerOptions thread safe

Si apruebasMisma opciónSi reutilizas JsonSerializerOptions, no crees una nueva instancia de JsonSerializerOptions cada vez que lo uses. Reutiliza la misma instancia para cada llamada. Esta guía se aplica al código que escribes para tu transformador personalizado, así como cuando llamas a JsonSerializer.Serialize o JsonSerializer.Deserialize. Es seguro usar la misma instancia en varios hilos. La caché de metadatos en la instancia de opción es segura para hilos, y la instancia es inmutable tras la primera serialización o deserialización.

Referencia:El inicio de sesión del hipervínculo es visible.

Serialización y deserialización

El código es el siguiente:



Utiliza la configuración JSON en ASP.NET Core

Si quieres usar la configuración global JSON en ASP.NET Core, puedes inyectar lo siguiente en el constructor:

Utiliza la versión web para configurar escenarios

La enumeración JsonSerializerDefaults especifica las opciones de serialización predeterminadas basadas en escenarios que pueden usarse para construir una instancia JsonSerializerOptions.

El código es el siguiente:




Referencia:El inicio de sesión del hipervínculo es visible.





Anterior:Windows Server {xxx} no se registra con DCOM dentro del tiempo de espera requerido.
Próximo:Las páginas web de front-end ejecutan funciones en wasm de 3 maneras
 Propietario| Publicado el 18-12-2024 19:07:36 |
Usa JsonNode para leer un valor de una cadena JSON

A veces, puede que solo necesitemos leer un valor en la cadena JSON, crear un nuevo objeto y luego desserializarlo en este objeto; lo que es más complicado, puedes usar directamente JsonNode para leer un valor de la cadena JSON, el código es el siguiente:



 Propietario| Publicado el 30-12-2024 13:29:28 |
Serializado como un array UTF-8 bytes (Utf8Bytes)

Serializar como un array de UTF-8 bytes es más importante que usar un enfoque basado en cadenas5-10% más rápido。 Esto se debe a que los bytes (UTF-8) no necesitan convertirse en cadenas (UTF-16).

Para serializar a un array UTF-8 bytes, llama al método JsonSerializer.SerializeToUtf8Bytes:


El inicio de sesión del hipervínculo es visible.
 Propietario| Publicado el 2025-1-2 09:04:00 |
Usa System.Text.Json para eliminar datos con cadenas como nulas o "", deserializa la cadena json en un objeto objeto; si hay cientos de campos, muchos de los cuales se registran como nulos, para salvar la transferencia, estos campos pueden eliminarse. System.Text.Json deserializa la cadena json en System.Text.Json.JsonElement.



El código es el siguiente:



JsonObject no respeta JsonIgnoreCondition.WhenWritingNull:El inicio de sesión del hipervínculo es visible.
 Propietario| Publicado el 18-2-2025 13:53:03 |
Usa JsonObject para crear un objeto directamente y serializarlo en una cadena json, como se muestra en la siguiente figura:



Código:

 Propietario| Publicado el 28-2-2025 09:17:31 |
Por [JsonPropertyNamePropiedad para personalizar el nombre de serialización del campo



 Propietario| Publicado el 19-11-2025 14:40:03 |
Usa JsonNode para obtener un objeto de colección de cadenas Json

Código:

 Propietario| Publicado enHace 4 días |
Los objetos del array se serializan en cadenas JSON



Código:
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com