{"id":292,"date":"2024-03-18T09:42:28","date_gmt":"2024-03-18T08:42:28","guid":{"rendered":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/?p=292"},"modified":"2024-03-26T09:42:52","modified_gmt":"2024-03-26T08:42:52","slug":"json-dokumente-in-java-einlesen-mit-gson","status":"publish","type":"post","link":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/?p=292","title":{"rendered":"JSON-Dokumente in Java einlesen mit Gson"},"content":{"rendered":"\n<p>JSON (JavaScript Object Notation) ist ein leicht lesbares Datenformat, das sowohl von Menschen als auch von Maschinen einfach verstanden werden kann. In der Java-Welt ist Gson eine der beliebtesten Bibliotheken zum Verarbeiten von JSON-Daten. Gson erm\u00f6glicht das Einlesen von JSON-Dokumenten in Java-Objekte und umgekehrt. In diesem Artikel werden wir einen detaillierten Blick darauf werfen, wie man JSON-Dokumente in Java mit Gson einliest.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was ist Gson?<\/h2>\n\n\n\n<p>Gson ist eine Open-Source-Bibliothek, die von Google entwickelt wurde, um die Umwandlung von JSON-Daten in Java-Objekte und umgekehrt zu erleichtern. Sie bietet eine einfache API und viele n\u00fctzliche Funktionen, um mit JSON-Daten in Java-Anwendungen zu arbeiten. Gson unterst\u00fctzt verschiedene Arten von Datenkonvertierungen, einschlie\u00dflich Serialisierung und Deserialisierung von Java-Objekten in JSON und umgekehrt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Einrichten von Gson in Ihrem Projekt<\/h2>\n\n\n\n<p>Bevor Sie Gson verwenden k\u00f6nnen, m\u00fcssen Sie sicherstellen, dass es in Ihrem Java-Projekt verf\u00fcgbar ist. Die einfachste M\u00f6glichkeit, Gson in Ihr Projekt einzubinden, besteht darin, die Gson-Abh\u00e4ngigkeit zu Ihrer Build-Datei hinzuzuf\u00fcgen. Wenn Sie beispielsweise Maven verwenden, k\u00f6nnen Sie dies tun, indem Sie die folgenden Zeilen zu Ihrer <code>pom.xml<\/code>-Datei hinzuf\u00fcgen:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">dependency<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>com.google.code.gson<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">groupId<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>gson<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">artifactId<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">version<\/span>&gt;<\/span>2.8.8<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">version<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">dependency<\/span>&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Nachdem Sie die Gson-Abh\u00e4ngigkeit hinzugef\u00fcgt haben, k\u00f6nnen Sie damit beginnen, JSON-Daten in Java einzulesen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Einlesen von JSON-Dokumenten<\/h2>\n\n\n\n<p>Um ein JSON-Dokument in Java einzulesen, m\u00fcssen Sie zun\u00e4chst eine Instanz der <code>Gson<\/code>-Klasse erstellen. Diese Klasse bietet verschiedene Methoden zum Parsen von JSON-Daten. Eine der h\u00e4ufigsten Methoden ist <code>fromJson()<\/code>, die JSON-Daten in ein Java-Objekt konvertiert. Betrachten wir ein einfaches Beispiel:<\/p>\n\n\n\n<p>Angenommen, wir haben folgendes JSON-Dokument:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JSON \/ JSON mit Kommentaren\" data-shcb-language-slug=\"json\"><span><code class=\"hljs language-json\">{\n  <span class=\"hljs-attr\">\"name\"<\/span>: <span class=\"hljs-string\">\"John Doe\"<\/span>,\n  <span class=\"hljs-attr\">\"age\"<\/span>: <span class=\"hljs-number\">30<\/span>,\n  <span class=\"hljs-attr\">\"city\"<\/span>: <span class=\"hljs-string\">\"New York\"<\/span>\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JSON \/ JSON mit Kommentaren<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">json<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Und wir haben eine entsprechende Java-Klasse <code>Person<\/code>, die diese Daten repr\u00e4sentiert:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Person<\/span> <\/span>{\n    <span class=\"hljs-keyword\">private<\/span> String name;\n    <span class=\"hljs-keyword\">private<\/span> int age;\n    <span class=\"hljs-keyword\">private<\/span> String city;\n\n    <span class=\"hljs-comment\">\/\/ Konstruktoren, Getter und Setter<\/span>\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Um dieses JSON-Dokument in ein <code>Person<\/code>-Objekt einzulesen, k\u00f6nnen wir den folgenden Code verwenden:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-keyword\">import<\/span> com.google.gson.Gson;\n\npublic <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Main<\/span> <\/span>{\n    public <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> main(<span class=\"hljs-built_in\">String<\/span>&#91;] args) {\n        <span class=\"hljs-built_in\">String<\/span> json = <span class=\"hljs-string\">\"{\\\"name\\\":\\\"John Doe\\\",\\\"age\\\":30,\\\"city\\\":\\\"New York\\\"}\"<\/span>;\n        Gson gson = <span class=\"hljs-keyword\">new<\/span> Gson();\n        Person person = gson.fromJson(json, Person.class);\n\n        System.out.println(<span class=\"hljs-string\">\"Name: \"<\/span> + person.getName());\n        System.out.println(<span class=\"hljs-string\">\"Age: \"<\/span> + person.getAge());\n        System.out.println(<span class=\"hljs-string\">\"City: \"<\/span> + person.getCity());\n    }\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Hier wird die <code>fromJson()<\/code>-Methode verwendet, um das JSON-Dokument in ein <code>Person<\/code>-Objekt zu konvertieren. Das Ergebnis wird dann verwendet, um die entsprechenden Eigenschaften der Person auszugeben.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verarbeiten von komplexen JSON-Strukturen<\/h2>\n\n\n\n<p>Gson ist auch in der Lage, komplexe JSON-Strukturen in Java-Objekte einzulesen. Betrachten wir dazu ein etwas komplexeres JSON-Beispiel:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"JSON \/ JSON mit Kommentaren\" data-shcb-language-slug=\"json\"><span><code class=\"hljs language-json\">{\n  <span class=\"hljs-attr\">\"name\"<\/span>: <span class=\"hljs-string\">\"John Doe\"<\/span>,\n  <span class=\"hljs-attr\">\"age\"<\/span>: <span class=\"hljs-number\">30<\/span>,\n  <span class=\"hljs-attr\">\"address\"<\/span>: {\n    <span class=\"hljs-attr\">\"street\"<\/span>: <span class=\"hljs-string\">\"123 Main St\"<\/span>,\n    <span class=\"hljs-attr\">\"city\"<\/span>: <span class=\"hljs-string\">\"New York\"<\/span>,\n    <span class=\"hljs-attr\">\"zip\"<\/span>: <span class=\"hljs-string\">\"10001\"<\/span>\n  },\n  <span class=\"hljs-attr\">\"phones\"<\/span>: &#91;\n    <span class=\"hljs-string\">\"123-456-7890\"<\/span>,\n    <span class=\"hljs-string\">\"987-654-3210\"<\/span>\n  ]\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JSON \/ JSON mit Kommentaren<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">json<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Um dieses JSON-Dokument in Java einzulesen, m\u00fcssen wir m\u00f6glicherweise die <code>Person<\/code>-Klasse anpassen, um die zus\u00e4tzlichen Eigenschaften wie Adresse und Telefonnummern zu ber\u00fccksichtigen. Hier ist eine m\u00f6gliche Implementierung:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Address<\/span> <\/span>{\n    <span class=\"hljs-keyword\">private<\/span> String street;\n    <span class=\"hljs-keyword\">private<\/span> String city;\n    <span class=\"hljs-keyword\">private<\/span> String zip;\n\n    <span class=\"hljs-comment\">\/\/ Konstruktoren, Getter und Setter<\/span>\n}\n\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Person<\/span> <\/span>{\n    <span class=\"hljs-keyword\">private<\/span> String name;\n    <span class=\"hljs-keyword\">private<\/span> int age;\n    <span class=\"hljs-keyword\">private<\/span> Address address;\n    <span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-keyword\">List<\/span>&lt;String&gt; phones;\n\n    <span class=\"hljs-comment\">\/\/ Konstruktoren, Getter und Setter<\/span>\n}<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Der restliche Code bleibt weitgehend unver\u00e4ndert. Wir verwenden immer noch die <code>fromJson()<\/code>-Methode, um das JSON-Dokument in ein <code>Person<\/code>-Objekt einzulesen. Gson k\u00fcmmert sich um die Deserialisierung der JSON-Daten und die Zuordnung zu den entsprechenden Java-Objekteigenschaften.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>Gson ist eine \u00e4u\u00dferst n\u00fctzliche Bibliothek f\u00fcr die Arbeit mit JSON-Daten in Java-Anwendungen. Es macht das Einlesen von JSON-Dokumenten einfach und unkompliziert, und bietet gleichzeitig leistungsstarke Funktionen f\u00fcr die Verarbeitung von komplexen Datenstrukturen. In diesem Artikel haben wir gesehen, wie man Gson in einem Java-Projekt einrichtet und wie man JSON-Dokumente in Java-Objekte einliest. Mit diesem Wissen sollten Sie in der Lage sein, Gson effektiv in Ihren eigenen Projekten zu verwenden und JSON-Daten problemlos in Java zu verarbeiten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>JSON (JavaScript Object Notation) ist ein leicht lesbares Datenformat, das sowohl von Menschen als auch von Maschinen einfach verstanden werden kann. In der Java-Welt ist Gson eine der beliebtesten Bibliotheken zum Verarbeiten von JSON-Daten. Gson erm\u00f6glicht das Einlesen von JSON-Dokumenten in Java-Objekte und umgekehrt. In diesem Artikel werden wir einen detaillierten Blick darauf werfen, wie [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-292","post","type-post","status-publish","format-standard","hentry","category-plain_java"],"_links":{"self":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/292","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=292"}],"version-history":[{"count":1,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/292\/revisions"}],"predecessor-version":[{"id":293,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/292\/revisions\/293"}],"wp:attachment":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}