Щоб трохи пояснити дуже корисну відповідь GlennG (переклад синтаксису з C # на VB.Net не завжди є "очевидним"), ви також можете прикрасити властивості окремих класів, щоб керувати тим, як обробляються нульові значення. Якщо ви це зробите, не використовуйте глобальні JsonSerializerSettings з пропозицій GlennG, інакше це перекриє окремі прикраси. Це стане в нагоді, якщо ви хочете, щоб нульовий товар з’явився в JSON, тому споживачеві не доведеться робити якісь спеціальні обробки. Якщо, наприклад, споживачеві потрібно знати, що масив необов’язкових елементів зазвичай доступний, але наразі порожній ... Прикраса в декларації властивості виглядає приблизно так:
<JsonPropertyAttribute("MyProperty", DefaultValueHandling:=NullValueHandling.Include)> Public Property MyProperty As New List(of String)
Для тих властивостей, які ви взагалі не бажаєте відображатись у зміні JSON : = NullValueHandling.Include to : = NullValueHandling.Ignore . До речі - я виявив, що ви можете добре прикрасити властивість і для серіалізації XML, і для JSON (просто покладіть їх прямо поруч). Це дає мені можливість закликати серіалізатор XML в dotnet або серіалізатор NewtonSoft за бажанням - і обидва працюють, і мої клієнти мають можливість працювати з XML або JSON. Це гладко, як соплі на дверній ручці, оскільки у мене є клієнти, які вимагають обох!