Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 1794|Antwoord: 7

[Tips] Enkele tips over het manipuleren van JSON door System.Text.Json

[Link kopiëren]
Geplaatst op 25-11-2024 08:39:50 | | | |
Voor .NET Core 3.1 hadden we ondersteuning voor objectserialisatie en deserialisatie door referenties te vereisen naar pakketten van derden zoals Newtonsoft.Json, en nu heeft .NET al ingebouwde ondersteuning voor JSON-operaties. De naamruimte System.Text.Json biedt functionaliteit voor het serialiseren en deserialiseren van JavaScript-objectnotaties (JSON). De System.Text.Json-bibliotheek is inbegrepen.NET Core 3.1 en latere runtimeMidden.

JsonSerializerOptions-thread veilig

Als je slaagtZelfde optieAls je JsonSerializerOptions opnieuw gebruikt, maak dan niet elke keer dat je het gebruikt een nieuwe instantie van JsonSerializerOptions aan. Hergebruik dezelfde instantie voor elke oproep. Deze gids geldt voor de code die je schrijft voor je aangepaste transformator, evenals wanneer je JsonSerializer.Serialize of JsonSerializer.Deserialize aanroept. Het is veilig om dezelfde instantie in meerdere threads te gebruiken. De metadatacache op de option-instantie is thread-veilig, en de instantie is onveranderlijk na de eerste serialisatie of deserialisatie.

Referentie:De hyperlink-login is zichtbaar.

Serialisatie en deserialisatie

De code is als volgt:



Gebruik de JSON-configuratie in ASP.NET Core

Als je de JSON-globale configuratie in ASP.NET Core wilt gebruiken, kun je het volgende injecteren in de constructor:

Gebruik de webversie om scenario's te configureren

De JsonSerializerDefaults-enumeratie specificeert de scenario-gebaseerde standaardserialisatieopties die gebruikt kunnen worden om een JsonSerializerOptions-instantie te construeren.

De code is als volgt:




Referentie:De hyperlink-login is zichtbaar.





Vorig:Windows Server {xxx} registreert zich niet bij DCOM binnen de vereiste timeout.
Volgend:Front-end webpagina's voeren functies uit in wasm op drie manieren
 Huisbaas| Geplaatst op 18-12-2024 19:07:36 |
Gebruik JsonNode om een waarde van een JSON-string uit te lezen

Soms hoeven we alleen een waarde in de JSON-string te lezen, een nieuw object aan te maken en het vervolgens te deserialiseren naar dit object; dat is problematischer, je kunt JsonNode direct gebruiken om een waarde van de JSON-string te lezen, de code is als volgt:



 Huisbaas| Geplaatst op 30-12-2024 13:29:28 |
Geserialiseerd als een UTF-8 byte array (Utf8Bytes)

Serialiseren als een UTF-8 byte array is belangrijker dan het gebruik van een string-gebaseerde aanpak5-10% sneller。 Dit komt doordat bytes (UTF-8) niet hoeven om te worden geconverteerd naar strings (UTF-16).

Om te serialiseren naar een UTF-8 byte array, roep de JsonSerializer.SerializeToUtf8Bytes-methode aan:


De hyperlink-login is zichtbaar.
 Huisbaas| Geplaatst op 2-1-2025 09:04:00 |
Gebruik System.Text.Json om data te verwijderen met strings als null of "", en deserialiseer de json-string tot een objectobject; als er honderden velden zijn, waarvan vele als null zijn geregistreerd, kunnen deze velden worden verwijderd om overdracht op te slaan. System.Text.Json deserialiseert de json-string in System.Text.Json.JsonElement.



De code is als volgt:



JsonObject respecteert JsonIgnoreCondition.WhenWritingNull niet:De hyperlink-login is zichtbaar.
 Huisbaas| Geplaatst op 2025-2-18 13:53:03 |
Gebruik JsonObject om direct een object te creëren en serialiseer het in een json-string, zoals weergegeven in de volgende figuur:



Code:

 Huisbaas| Geplaatst op 28-2-2025 09:17:31 |
Door [JsonPropertyNameeigenschap om de serialisatienaam van het veld aan te passen



 Huisbaas| Geplaatst op 2025-11-19 14:40:03 |
Gebruik JsonNode om een Json-stringverzamelobject te krijgen

Code:

 Huisbaas| Geplaatst op4 dagen geleden |
Array-objecten worden geserialiseerd tot JSON-strings



Code:
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com