Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 1794|Risposta: 7

[Consigli] Alcuni consigli su System.Text.Json come manipolare JSON

[Copiato link]
Pubblicato il 25-11-2024 08:39:50 | | | |
Prima di .NET Core 3.1, avevamo supporto per la serializzazione e la deserializzazione degli oggetti richiedendo riferimenti a pacchetti di terze parti come Newtonsoft.Json, e ora .NET ha già il supporto integrato per operazioni JSON. Il namespace System.Text.Json fornisce funzionalità per la serializzazione e la deserializzazione delle notazioni di oggetti JavaScript (JSON). È inclusa la libreria System.Text.Jsonruntime .NET Core 3.1 e successiviMezzo.

Thread sicuro di JsonSerializerOptions

Se passiStessa opzioneSe riutilizzi JsonSerializerOptions, non creare una nuova istanza di JsonSerializerOptions ogni volta che lo usi. Riutilizza la stessa istanza per ogni chiamata. Questa guida si applica al codice che scrivi per il tuo transformer personalizzato, così come quando chiami JsonSerializer.Serialize o JsonSerializer.Deserialize. È sicuro usare la stessa istanza in più thread. La cache dei metadati sull'istanza option è thread-safe, e l'istanza è immutabile dopo la prima serializzazione o deserializzazione.

Riferimento:Il login del link ipertestuale è visibile.

Serializzazione e deserializzazione

Il codice è il seguente:



Usa la configurazione JSON in ASP.NET Core

Se vuoi usare la configurazione globale JSON in ASP.NET Core, puoi iniettare quanto segue nel costruttore:

Usa la versione web per configurare gli scenari

L'enumerazione JsonSerializerDefaults specifica le opzioni di serializzazione predefinite basate su scenari che possono essere utilizzate per costruire un'istanza JsonSerializerOptions.

Il codice è il seguente:




Riferimento:Il login del link ipertestuale è visibile.





Precedente:Windows Server {xxx} non si registra con DCOM entro il timeout richiesto.
Prossimo:Le pagine front-end web eseguono funzioni in wasm in 3 modi
 Padrone di casa| Pubblicato il 18-12-2024 19:07:36 |
Usa JsonNode per leggere il valore di una stringa JSON

A volte, potremmo solo leggere un valore nella stringa JSON, creare un nuovo oggetto e poi deserializzarlo in questo oggetto, il che è più complicato; puoi usare direttamente JsonNode per leggere un valore della stringa JSON, il codice è il seguente:



 Padrone di casa| Pubblicato il 30-12-2024 13:29:28 |
Serializzato come array UTF-8 byte (Utf8Bytes)

La serializzazione come array di byte UTF-8 è più importante rispetto all'uso di un approccio basato su stringhe5-10% più veloce。 Questo perché i byte (UTF-8) non devono essere convertiti in stringhe (UTF-16).

Per serializzare su un array UTF-8 byte, chiama il metodo JsonSerializer.SerializeToUtf8Bytes:


Il login del link ipertestuale è visibile.
 Padrone di casa| Pubblicato il 2025-1-2 09:04:00 |
Usa System.Text.Json per rimuovere dati con stringhe come null o "", deserializzare la stringa json in un oggetto oggetto; se ci sono centinaia di campi, molti dei quali registrati come nulli, per salvare il trasferimento, questi campi possono essere rimossi. System.Text.Json deserializza la stringa json in System.Text.Json.JsonElement.



Il codice è il seguente:



JsonObject non rispetta JsonIgnoreCondition.WhenWritingNull:Il login del link ipertestuale è visibile.
 Padrone di casa| Pubblicato il 18-2-2025 13:53:03 |
Usa JsonObject per creare direttamente un oggetto e serializzarlo in una stringa json, come mostrato nella figura seguente:



Codice:

 Padrone di casa| Pubblicato il 28-2-2025 09:17:31 |
Di [JsonPropertyNameProprietà per personalizzare il nome di serializzazione del campo



 Padrone di casa| Pubblicato il 19-11-2025 14:40:03 |
Usa JsonNode per ottenere un oggetto di raccolta stringhe Json

Codice:

 Padrone di casa| Pubblicato su4 giorni fa |
Gli oggetti array sono serializzati in stringhe JSON



Codice:
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com