Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 1794|Odpověď: 7

[Tipy] Několik tipů na manipulaci s JSON pomocí System.Text.Json

[Kopírovat odkaz]
Zveřejněno 2024-11-25 08:39:50 | | | |
Před .NET Core 3.1 jsme měli podporu pro serializaci a deserializaci objektů tím, že jsme vyžadovali odkazy na balíčky třetích stran, jako je Newtonsoft.Json, a nyní má .NET již vestavěnou podporu pro operace JSON. Jmenný prostor System.Text.Json poskytuje funkce pro serializaci a deserializaci JavaScriptových objektových notací (JSON). Knihovna System.Text.Json je zahrnuta.NET Core 3.1 a pozdější runtimeProstřední.

JsonSerializerOptions thread safe

Když projdešStejná možnostPokud JsonSerializerOptions používáte znovu, nevytvářejte pokaždé novou instanci JsonSerializerOptions. Použij stejnou instanci pro každý hovor. Tento průvodce se vztahuje na kód, který píšete pro svůj vlastní transformátor, stejně jako na volání JsonSerializer.Serialize nebo JsonSerializer.Deserialize. Je bezpečné používat stejnou instanci ve více vláknech. Cache metadat na option instance je thread-safe a instance je neměnná po první serializaci nebo deserializaci.

Odkaz:Přihlášení k hypertextovému odkazu je viditelné.

Serializace a deserializace

Kód je následující:



Použijte JSON konfiguraci v ASP.NET Core

Pokud chcete použít JSON globální konfiguraci v ASP.NET Core, můžete do konstruktoru vložit následující:

Použijte webovou verzi pro konfiguraci scénářů

Enumerace JsonSerializerDefaults specifikuje scénářové výchozí možnosti serializace, které lze použít ke vytvoření instance JsonSerializerOptions.

Kód je následující:




Odkaz:Přihlášení k hypertextovému odkazu je viditelné.





Předchozí:Windows Server {xxx} se neregistruje u DCOM v požadovaném časovém limitu.
Další:Front-end webové stránky vykonávají funkce ve wasm třemi způsoby
 Pronajímatel| Zveřejněno 18. 12. 2024 19:07:36 |
Použijte JsonNode k načtení hodnoty JSON řetězce

Někdy stačí přečíst hodnotu v JSON řetězci, vytvořit nový objekt a pak ho deserializovat do tohoto objektu. Což je složitější, můžete přímo použít JsonNode k načtení hodnoty JSON řetězce, kód je následující:



 Pronajímatel| Zveřejněno 30. 12. 2024 13:29:28 |
Serializováno jako pole UTF-8 bajtů (Utf8Bajtů)

Serializace jako pole UTF-8 bajtů je důležitější než použití přístupu založeného na řetězcích5-10 % rychleji。 Je to proto, že bajty (UTF-8) není nutné převádět na řetězce (UTF-16).

Pro serializaci do pole UTF-8 bajtů volejte metodu JsonSerializer.SerializeToUtf8Bytes:


Přihlášení k hypertextovému odkazu je viditelné.
 Pronajímatel| Zveřejněno 2025-1-2 09:04:00 |
Použijte System.Text.Json k odstranění dat s řetězci jako null nebo "", deserializujte řetězec json do objektu, pokud je zde stovky polí, z nichž mnohá jsou zaznamenána jako null, pro úsporu přenosu lze tato pole odstranit. System.Text.Json deserializuje řetězec json do System.Text.Json.JsonElement.



Kód je následující:



JsonObject nerespektuje JsonIgnoreCondition.WhenWritingNull:Přihlášení k hypertextovému odkazu je viditelné.
 Pronajímatel| Zveřejněno 18. 2. 2025 13:53:03 |
Použijte JsonObject k přímému vytvoření objektu a jeho serializaci do řetězce json, jak je znázorněno na následujícím obrázku:



Kód:

 Pronajímatel| Zveřejněno 28. 2. 2025 09:17:31 |
Autorem [JsonPropertyNamevlastnosti pro přizpůsobení serializačního názvu pole



 Pronajímatel| Zveřejněno 19. 11. 2025 14:40:03 |
Použijte JsonNode k získání objektu Json string collection

Kód:

 Pronajímatel| ZveřejněnoPřed 4 dny |
Objekty pole jsou serializovány do JSON řetězců



Kód:
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com