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

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

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

[Копирай линк]
Публикувано в 25.11.2024 г. 8: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 низа, кодът е следният:



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

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

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


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



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



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



Код:

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



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

Код:

 Хазяин| Публикувано в 10.12.2025 г. 8:59:53 ч. |
Масивните обекти се сериализират в JSON низове



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

Mail To:help@itsvse.com