Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 1794|Отговор: 7

[Бакшиши] Някои съвети за манипулиране на System.Text.Json с JSON

[Копирай линк]
Публикувано на 25.11.2024 08:39:50 | | | |
Преди .NET Core 3.1 имахме поддръжка за сериализация на обекти и десериализация чрез изискване за препратки към външни пакети като Newtonsoft.Json, а сега .NET вече има вградена поддръжка за JSON операции. Пространството от имена System.Text.Json предоставя функционалност за сериализация и десериализация на JavaScript обектни нотации (JSON). Включена е библиотеката System.Text.Json.NET Core 3.1 и по-късни изпълненияСреда.

JsonSerializerOptions е безопасно за теми

Ако издържишСъщата опцияАко използвате JsonSerializerOptions повторно, не създавайте нов инсък на JsonSerializerOptions всеки път, когато го използвате. Използвайте една и съща инстанция за всяко обаждане. Това ръководство се отнася за кода, който пишете за вашия персонализиран трансформатор, както и когато извиквате JsonSerializer.Serialize или JsonSerializer.Deserialize. Безопасно е да се използва една и съща инстанция в няколко нишки. Кешът с метаданни на опцията е безопасен за нишки, а инстанцията е неизменна след първата сериализация или десериализация.

Препратка:Входът към хиперлинк е видим.

Сериализация и десериализация

Кодът е следният:



Използвайте конфигурацията JSON в ASP.NET Core

Ако искате да използвате глобалната конфигурация на JSON в ASP.NET Core, можете да инжектирате следното в конструктора:

Използвайте уеб версията за конфигуриране на сценарии

Изброяването JsonSerializerDefaults определя опциите за сериализация, базирани на сценарии, които могат да се използват за изграждане на инстанция на JsonSerializerOptions.

Кодът е следният:




Препратка:Входът към хиперлинк е видим.





Предишен:Windows Server {xxx} не се регистрира в DCOM в рамките на необходимия тайм-аут.
Следващ:Предните уеб страници изпълняват функции в wasm по 3 начина
 Хазяин| Публикувано на 18.12.2024 19:07:36 |
Използвайте JsonNode, за да прочетете стойност на JSON низ

Понякога може да се наложи само да прочетем стойност в JSON низа, да създадем нов обект и след това да го десериализираме в този обект, което е по-сложно, можете директно да използвате JsonNode, за да прочетете стойност на JSON низа, кодът е следният:



 Хазяин| Публикувано на 2024-12-30 13:29:28 |
сериализирана като масив от UTF-8 байтове (Utf8Bytes)

Сериализацията като масив от UTF-8 байтове е по-важна от използването на подход, базиран на низове5-10% по-бързо。 Това е така, защото байтовете (UTF-8) не е необходимо да се преобразуват в низове (UTF-16).

За да сериализирате в масив от UTF-8, извикайте метода JsonSerializer.SerializeToUtf8Bytes:


Входът към хиперлинк е видим.
 Хазяин| Публикувано на 2025-1-2 09:04:00 |
Използвайте System.Text.Json, за да премахнете данни с низове като null или "", десериализирайте json низата в обектен обект; ако има стотици полета, много от които са записани като null, за да се спести трансферът, тези полета могат да бъдат премахнати. System.Text.Json десериализира json низа в System.Text.Json.JsonElement.



Кодът е следният:



JsonObject не уважава JsonIgnoreCondition.WhenWritingNull:Входът към хиперлинк е видим.
 Хазяин| Публикувано на 2025-2-18 13:53:03 |
Използвайте JsonObject, за да създадете обект директно и да го сериализирате в json низ, както е показано на следващата фигура:



Код:

 Хазяин| Публикувано на 28.02.2025 09:17:31 |
От [JsonPropertyNameсвойство за персонализиране на сериализацията на полето



 Хазяин| Публикувано на 2025-11-19 14:40:03 |
Използвайте JsonNode, за да получите обект от колекция от низове на Json

Код:

 Хазяин| Публикувано вПреди 4 дни |
Масивните обекти се сериализират в JSON низове



Код:
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com