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

Изглед: 2682|Отговор: 9

[Бакшиши] Някои съвети за манипулиране на 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 низове



Код:
 Хазяин| Публикувано вПреди 7 дни |
Използвайте JsonDocument.Parse, за да получите разбор на JsonElement и да получите стойности на свойства, както е показано на фигурата по-долу:



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

Мутираем: JsonElement е неизменяем, докато JsonNode е променлив.
Случай на употреба: JsonElement се използва за леки операции само за четене. JsonNode се използва за динамично създаване или модифициране на JSON.
Изпълнение:JsonElement е по-ефективен за задачи само за четене, докато JsonNode, поради своята променливост и структура, подобна на DOM, поема допълнителни разходи.
 Хазяин| Публикувано вПреди 2 минути |
.NET/C# използва JsonSchema.Net за проверка на структурата на JSON низовете
https://www.itsvse.com/thread-11252-1-1.html
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com