{"id":17389,"date":"2024-11-25T08:00:00","date_gmt":"2024-11-25T08:00:00","guid":{"rendered":"https:\/\/stagingcopy.comitas.com\/dir\/?p=17389"},"modified":"2024-12-11T11:40:27","modified_gmt":"2024-12-11T11:40:27","slug":"microsoft-dot-net-neu-in-system-text-json-in-net-9","status":"publish","type":"post","link":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/","title":{"rendered":"Was ist neu in System.Text.Json in .NET 9?"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"17389\" class=\"elementor elementor-17389\">\n\t\t\t\t<div class=\"elementor-element elementor-element-74fcb97 e-flex e-con-boxed e-con e-parent\" data-id=\"74fcb97\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1eacc50 elementor-widget elementor-widget-text-editor\" data-id=\"1eacc50\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span data-contrast=\"auto\">Die neue Version 9.0 von System.Text.Json bringt eine Vielzahl an Funktionen, die JSON-Schema-Generierung und intelligente Anwendungen unterst\u00fctzen. Ausserdem wurden zahlreiche von Nutzern gew\u00fcnschte Verbesserungen wie Nullable-Referenztypen, flexible Indentation und die Anpassung von Enum-Namen hinzugef\u00fcgt.<\/span><span data-ccp-props=\"{&quot;134233118&quot;:false}\">\u00a0<\/span><\/p><h5><b><span data-contrast=\"auto\">JSON-Schema-Exporter<\/span><\/b><span data-ccp-props=\"{&quot;134233118&quot;:false}\">\u00a0<\/span><\/h5><p><span data-contrast=\"auto\">Ein Highlight der neuen Version ist der JsonSchemaExporter. Dieser erzeugt J<\/span><a href=\"https:\/\/json-schema.org\/\" data-wplink-edit=\"true\"><span data-contrast=\"none\">SON-Schemadokumente<\/span><\/a><span data-contrast=\"auto\"> basierend auf .NET-Typen. Mit nur wenigen Zeilen Code l\u00e4sst sich so das Serialisierungsformat einer Klasse als JSON-Schema ausgeben. Dies ist besonders hilfreich, um den Aufbau und die Anforderungen an JSON-Daten zu dokumentieren. Die Konfiguration der Schemadaten erfolgt durch den Einsatz von JsonSerializerOptions oder JsonTypeInfo, was Anpassungen an Benennungsrichtlinien und Typdarstellung erm\u00f6glicht.<\/span><span data-ccp-props=\"{&quot;134233118&quot;:false}\">\u00a0<\/span><\/p><p><span data-contrast=\"auto\">Mit Optionen wie JsonSchemaExporterOptions k\u00f6nnen sogar benutzerdefinierte Transformationen f\u00fcr das Schema angewendet werden, was den Export noch flexibler gestaltet.<\/span><span data-ccp-props=\"{&quot;134233118&quot;:false}\">\u00a0<\/span><\/p><h5><b><span data-contrast=\"auto\">Mehrere JSON-Dokumente streamen<\/span><\/b><span data-ccp-props=\"{&quot;134233118&quot;:false}\">\u00a0<\/span><\/h5><p><span data-contrast=\"auto\">Der <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">Utf8JsonReader<\/span><span data-contrast=\"auto\"> kann nun mehrere JSON-Dokumente lesen, die durch Leerzeichen getrennt in einem einzigen Puffer oder Stream vorliegen. Standardm\u00e4ssig wirft er eine Exception, wenn nach dem ersten Top-Level-Dokument weitere Zeichen folgen, die keine Leerzeichen sind. Mit dem Flag <\/span><span data-contrast=\"auto\"><span style=\"color: #999999;\">JsonReaderOptions.AllowMultipleValues<\/span><\/span><span data-contrast=\"auto\"> l\u00e4sst sich dieses Verhalten jedoch \u00e4ndern und erm\u00f6glicht so das Lesen von JSON-Daten mit ung\u00fcltigen, angeh\u00e4ngten Inhalten. F\u00fcr die Streaming-Deserialisierung gibt es jetzt die neue Methode <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">JsonSerializer.DeserializeAsyncEnumerable<\/span><span data-contrast=\"auto\">, die das Streamen mehrerer Top-Level-Objekte erlaubt. Standardm\u00e4ssig streamt sie Elemente in einem Top-Level-JSON-Array, kann jedoch \u00fcber das neue <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">topLevelValues<\/span><span data-contrast=\"auto\">-Flag angepasst werden.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p><h5><b><span data-contrast=\"auto\">Nullable-Annotationen beachten<\/span><\/b><span data-ccp-props=\"{&quot;134233118&quot;:false}\">\u00a0<\/span><\/h5><p><span data-contrast=\"auto\">D<\/span><span data-contrast=\"auto\">as <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">JsonSerializer<\/span><span data-contrast=\"auto\"> bietet nun eingeschr\u00e4nkte Unterst\u00fctzung f\u00fcr die Durchsetzung der Nullable-Annotationen von Referenztypen bei der (De-)Serialisierung. Mit dem Flag <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">RespectNullableAnnotations<\/span><span data-contrast=\"auto\"> k\u00f6nnen Entwickler die Einhaltung von Nullable-Referenzen aktivieren. Allerdings gibt es hier einige Einschr\u00e4nkungen: Die \u00dcberpr\u00fcfung greift nur bei nicht-generischen Eigenschaften, Feldern und Konstruktorparametern. Top-Level-Typen, generische Parameter und Elemente in Sammlungen (wie <\/span><span data-contrast=\"auto\">List&lt;<span style=\"color: #999999;\">string<\/span>&gt;<\/span><span data-contrast=\"auto\"> vs. <\/span><span data-contrast=\"auto\">List&lt;<span style=\"color: #999999;\">string?<\/span>&gt;<\/span><span data-contrast=\"auto\">) werden nicht ber\u00fccksichtigt. Um Null-Werte dennoch gezielt zu verhindern, kann ein benutzerdefinierter Konverter genutzt werden.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p><p><span data-contrast=\"auto\">Zus\u00e4tzlich f\u00fchrt .NET 9 das Flag <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">RespectRequiredConstructorParameters<\/span><span data-contrast=\"auto\"> ein, welches nicht-optional deklarierte Konstruktorparameter zwingend erwartet. Standardm\u00e4ssig behandelt <\/span><span data-contrast=\"auto\">STJ<\/span><span data-contrast=\"auto\"> alle Parameter als optional, doch mit diesem Flag wird eine striktere Pr\u00fcfung aktiviert. Beide Flags \u2013 <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">RespectNullableAnnotations<\/span><span data-contrast=\"auto\"> und <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">RespectRequiredConstructorParameters<\/span><span data-contrast=\"auto\"> \u2013 lassen sich \u00fcber Projekteinstellungen<\/span> <span data-contrast=\"auto\">global aktivieren und sind standardm\u00e4ssig optional, um die R\u00fcckw\u00e4rtskompatibilit\u00e4t zu gew\u00e4hrleisten. F\u00fcr neue Projekte wird jedoch empfohlen, beide Optionen zu nutzen, um die Typensicherheit zu erh\u00f6hen.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p><h5><b><span data-contrast=\"auto\">Anpassung der Enum-Namen<\/span><\/b><span data-ccp-props=\"{&quot;134233118&quot;:false}\">\u00a0<\/span><\/h5><p><span data-contrast=\"auto\">Mit dem neuen Attribut <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">JsonStringEnumMemberName<\/span><span data-contrast=\"auto\"> k\u00f6nnen Entwickler die Namen einzelner Enum-Werte f\u00fcr die JSON-Repr\u00e4sentation individuell anpassen.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p><h5><b><span data-contrast=\"auto\">Lesereihenfolge von Metadaten\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/h5><p><span data-contrast=\"auto\">In bisherigen Versionen von <\/span><i><span data-contrast=\"auto\">System.Text.Json<\/span><\/i><span data-contrast=\"auto\"> mussten Metadatenfelder wie <\/span><span data-contrast=\"auto\">$id<\/span><span data-contrast=\"auto\"> und <\/span><span data-contrast=\"auto\">$type<\/span><span data-contrast=\"auto\"> stets am Anfang eines JSON-Objekts stehen. Die neue Option <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">AllowOutOfOrderMetadataProperties<\/span><span data-contrast=\"auto\"> hebt diese Einschr\u00e4nkung auf und erm\u00f6glicht das Deserialisieren von JSON-Daten aus nicht-STJ-Quellen, die eine andere Anordnung der Metadaten verwenden.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p><h5><b><span data-contrast=\"auto\">Benutzerdefinierte Indentation<\/span><\/b><span data-ccp-props=\"{&quot;134233118&quot;:false}\">\u00a0<\/span><\/h5><p><span data-contrast=\"auto\">Mit .NET 9 bieten die <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">JsonWriterOptions<\/span><span data-contrast=\"auto\"> und <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">JsonSerializerOptions<\/span><span data-contrast=\"auto\"> neue APIs zur Steuerung der Einr\u00fcckung bei der JSON-Formatierung. Ein Beispiel daf\u00fcr ist die M\u00f6glichkeit, die Einr\u00fcckung mit einem Tab anstelle von Leerzeichen festzulegen.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p><p><span data-contrast=\"auto\">Der <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">JsonObject<\/span><span data-contrast=\"auto\">-Typ, der die mutable DOM f\u00fcr JSON-Objekte darstellt, erh\u00e4lt nun zus\u00e4tzliche APIs zur besseren Verwaltung der Eigenschaftsreihenfolge. Obwohl <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">JsonObject<\/span><span data-contrast=\"auto\"> als <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">IDictionary&lt;string, JsonNode&gt;<\/span><span data-contrast=\"auto\"> modelliert ist, kann die Reihenfolge der Eigenschaften jetzt gezielt gesteuert werden.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p><p><span data-contrast=\"auto\">F\u00fcr die Tiefenvergleichbarkeit wurde das <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">JsonElement.DeepEquals<\/span><span data-contrast=\"auto\">-Methoden hinzugef\u00fcgt, die eine umfassende Vergleichsm\u00f6glichkeit f\u00fcr <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">JsonElement<\/span><span data-contrast=\"auto\">-Instanzen bietet und <\/span><span style=\"color: #999999;\" data-contrast=\"auto\">JsonNode.DeepEquals<\/span><span data-contrast=\"auto\"> erg\u00e4nzt. Diese Methoden ber\u00fccksichtigen dabei auch die Gleichwertigkeit verschiedener numerischer Darstellungen in JSON.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p><h5><b><span data-contrast=\"auto\">Leistung und Optimierung<\/span><\/b><span data-ccp-props=\"{&quot;134233118&quot;:false}\">\u00a0<\/span><\/h5><p><span data-contrast=\"auto\">Auch die Performance hat in <\/span><i><span data-contrast=\"auto\">System.Text.Json<\/span><\/i><span data-contrast=\"auto\"> signifikante Verbesserungen erfahren. So gab es Optimierungen in der Serialisierungsgeschwindigkeit und in der speichereffizienten Verarbeitung grosser JSON-Datenstr\u00f6me.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}\">\u00a0<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Die neue Version 9.0 von System.Text.Json bringt eine Vielzahl an Funktionen, die JSON-Schema-Generierung und intelligente Anwendungen unterst\u00fctzen. Ausserdem wurden zahlreiche von Nutzern gew\u00fcnschte Verbesserungen wie Nullable-Referenztypen, flexible Indentation und die Anpassung von Enum-Namen hinzugef\u00fcgt.\u00a0 JSON-Schema-Exporter\u00a0 Ein Highlight der neuen Version ist der JsonSchemaExporter. Dieser erzeugt JSON-Schemadokumente basierend auf .NET-Typen. Mit nur wenigen Zeilen Code l\u00e4sst [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":17405,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[65,271,277],"tags":[],"class_list":["post-17389","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-de","category-microsoft-dotnet-de","category-welt-der-it"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Was ist neu in System.Text.Json in .NET 9? - Comitas Staging Site<\/title>\n<meta name=\"description\" content=\"Neuerungen in .NET 9: System.Text.Json bietet JSON-Schema-Export, Nullable-Typen-Support, flexible Enum-Namen und Performance-Verbesserungen.\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Was ist neu in System.Text.Json in .NET 9? - Comitas Staging Site\" \/>\n<meta property=\"og:description\" content=\"Neuerungen in .NET 9: System.Text.Json bietet JSON-Schema-Export, Nullable-Typen-Support, flexible Enum-Namen und Performance-Verbesserungen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/\" \/>\n<meta property=\"og:site_name\" content=\"Comitas Staging Site\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-25T08:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-11T11:40:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/11\/Microsoft-.NET-16-3.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Julia\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Julia\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/\"},\"author\":{\"name\":\"Julia\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/person\/28c8d075f677168399c7948b12668d36\"},\"headline\":\"Was ist neu in System.Text.Json in .NET 9?\",\"datePublished\":\"2024-11-25T08:00:00+00:00\",\"dateModified\":\"2024-12-11T11:40:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/\"},\"wordCount\":605,\"publisher\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#organization\"},\"image\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/11\/Microsoft-.NET-16-3.png\",\"articleSection\":[\"Blog\",\"Microsoft .NET\",\"Welt der IT\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/\",\"url\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/\",\"name\":\"Was ist neu in System.Text.Json in .NET 9? - Comitas Staging Site\",\"isPartOf\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/11\/Microsoft-.NET-16-3.png\",\"datePublished\":\"2024-11-25T08:00:00+00:00\",\"dateModified\":\"2024-12-11T11:40:27+00:00\",\"description\":\"Neuerungen in .NET 9: System.Text.Json bietet JSON-Schema-Export, Nullable-Typen-Support, flexible Enum-Namen und Performance-Verbesserungen.\",\"breadcrumb\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#primaryimage\",\"url\":\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/11\/Microsoft-.NET-16-3.png\",\"contentUrl\":\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/11\/Microsoft-.NET-16-3.png\",\"width\":2000,\"height\":1000,\"caption\":\"Microsoft .NET\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/stagingcopy.comitas.com\/dir\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Was ist neu in System.Text.Json in .NET 9?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#website\",\"url\":\"https:\/\/stagingcopy.comitas.com\/dir\/\",\"name\":\"Comitas Staging Site\",\"description\":\"Auf bestem Weg nach Morgen\",\"publisher\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/stagingcopy.comitas.com\/dir\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#organization\",\"name\":\"Comitas\",\"url\":\"https:\/\/stagingcopy.comitas.com\/dir\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2022\/01\/Comitas-Logo-01-1.svg\",\"contentUrl\":\"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2022\/01\/Comitas-Logo-01-1.svg\",\"width\":198,\"height\":80,\"caption\":\"Comitas\"},\"image\":{\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/comitas-ag\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/person\/28c8d075f677168399c7948b12668d36\",\"name\":\"Julia\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/971dc414d4c624079b5aa418d5352c0b41b900d8db64b3bd55019929a5c1e8dd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/971dc414d4c624079b5aa418d5352c0b41b900d8db64b3bd55019929a5c1e8dd?s=96&d=mm&r=g\",\"caption\":\"Julia\"},\"url\":\"https:\/\/stagingcopy.comitas.com\/dir\/author\/julia\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Was ist neu in System.Text.Json in .NET 9? - Comitas Staging Site","description":"Neuerungen in .NET 9: System.Text.Json bietet JSON-Schema-Export, Nullable-Typen-Support, flexible Enum-Namen und Performance-Verbesserungen.","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Was ist neu in System.Text.Json in .NET 9? - Comitas Staging Site","og_description":"Neuerungen in .NET 9: System.Text.Json bietet JSON-Schema-Export, Nullable-Typen-Support, flexible Enum-Namen und Performance-Verbesserungen.","og_url":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/","og_site_name":"Comitas Staging Site","article_published_time":"2024-11-25T08:00:00+00:00","article_modified_time":"2024-12-11T11:40:27+00:00","og_image":[{"width":2000,"height":1000,"url":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/11\/Microsoft-.NET-16-3.png","type":"image\/png"}],"author":"Julia","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Julia"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#article","isPartOf":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/"},"author":{"name":"Julia","@id":"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/person\/28c8d075f677168399c7948b12668d36"},"headline":"Was ist neu in System.Text.Json in .NET 9?","datePublished":"2024-11-25T08:00:00+00:00","dateModified":"2024-12-11T11:40:27+00:00","mainEntityOfPage":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/"},"wordCount":605,"publisher":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/#organization"},"image":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#primaryimage"},"thumbnailUrl":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/11\/Microsoft-.NET-16-3.png","articleSection":["Blog","Microsoft .NET","Welt der IT"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/","url":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/","name":"Was ist neu in System.Text.Json in .NET 9? - Comitas Staging Site","isPartOf":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/#website"},"primaryImageOfPage":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#primaryimage"},"image":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#primaryimage"},"thumbnailUrl":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/11\/Microsoft-.NET-16-3.png","datePublished":"2024-11-25T08:00:00+00:00","dateModified":"2024-12-11T11:40:27+00:00","description":"Neuerungen in .NET 9: System.Text.Json bietet JSON-Schema-Export, Nullable-Typen-Support, flexible Enum-Namen und Performance-Verbesserungen.","breadcrumb":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#primaryimage","url":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/11\/Microsoft-.NET-16-3.png","contentUrl":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2024\/11\/Microsoft-.NET-16-3.png","width":2000,"height":1000,"caption":"Microsoft .NET"},{"@type":"BreadcrumbList","@id":"https:\/\/stagingcopy.comitas.com\/dir\/blog-de\/microsoft-dot-net-neu-in-system-text-json-in-net-9\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/stagingcopy.comitas.com\/dir\/"},{"@type":"ListItem","position":2,"name":"Was ist neu in System.Text.Json in .NET 9?"}]},{"@type":"WebSite","@id":"https:\/\/stagingcopy.comitas.com\/dir\/#website","url":"https:\/\/stagingcopy.comitas.com\/dir\/","name":"Comitas Staging Site","description":"Auf bestem Weg nach Morgen","publisher":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/stagingcopy.comitas.com\/dir\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/stagingcopy.comitas.com\/dir\/#organization","name":"Comitas","url":"https:\/\/stagingcopy.comitas.com\/dir\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/logo\/image\/","url":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2022\/01\/Comitas-Logo-01-1.svg","contentUrl":"https:\/\/stagingcopy.comitas.com\/dir\/wp-content\/uploads\/2022\/01\/Comitas-Logo-01-1.svg","width":198,"height":80,"caption":"Comitas"},"image":{"@id":"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/comitas-ag"]},{"@type":"Person","@id":"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/person\/28c8d075f677168399c7948b12668d36","name":"Julia","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/stagingcopy.comitas.com\/dir\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/971dc414d4c624079b5aa418d5352c0b41b900d8db64b3bd55019929a5c1e8dd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/971dc414d4c624079b5aa418d5352c0b41b900d8db64b3bd55019929a5c1e8dd?s=96&d=mm&r=g","caption":"Julia"},"url":"https:\/\/stagingcopy.comitas.com\/dir\/author\/julia\/"}]}},"_links":{"self":[{"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/posts\/17389","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/comments?post=17389"}],"version-history":[{"count":11,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/posts\/17389\/revisions"}],"predecessor-version":[{"id":18185,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/posts\/17389\/revisions\/18185"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/media\/17405"}],"wp:attachment":[{"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/media?parent=17389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/categories?post=17389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stagingcopy.comitas.com\/dir\/wp-json\/wp\/v2\/tags?post=17389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}