Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 1794|Відповідь: 7

[Чайови] Декілька порад щодо маніпуляції JSON у System.Text.Json

[Копіювати посилання]
Опубліковано 2024-11-25 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 трьома способами
 Орендодавець| Опубліковано 2024-12-18 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-рядок, як показано на наступному рисунку:



Код:

 Орендодавець| Опубліковано 2025-2-28 09:17:31 |
Автор [JsonPropertyNameвластивість для налаштування імені серіалізації поля



 Орендодавець| Опубліковано 2025-11-19 14:40:03 |
Використовуйте JsonNode для отримання об'єкта колекції рядків Json

Код:

 Орендодавець| Опубліковано4 дні тому |
Об'єкти масиву серіалізуються у JSON-рядки



Код:
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com