Vorteile von GSON ggü. JSON "per Hand"

oetzi

Bekanntes Mitglied
Hallo zusammen,

wie gerade im Nachbarthread zu lesen arbeite ich mich gerade in JSON ein.
Dabei habe ich gerade mehrmals in diversen Foren Empfehlungen für GSON gelesen. Damit soll es noch einfacher sein, Java Objekte in JSON zu verwandeln und umgekehrt.

Jetzt habe ich mal beide Möglichkeiten ausprobiert und muss sagen, dass ich keinen wirklichen Unterschied feststellen kann.

Normal:
Code:
TestBean bean = new TestBean();
		jsonO.put("bean", bean);
		
		System.out.println("OUTPUT - perHand:");
		System.out.print(jsonO.toString());

GSON:
Code:
		TestBean bean = new TestBean();
		String out = gson.toJson(bean);

		System.out.println("OUTPUT - perHand:");
		System.out.println(out);

Gleicher Aufwand, gleiches Ergebnis, zumindest bei solch einem simplen Beispiel.

Bietet mir GSON andere Vorteile, die ich gerade einfach noch nicht sehe?

Gruß,
oetzi
 

musiKk

Top Contributor
Wenn Du Dich auf einen anderen Thread beziehst, solltest Du ihn auch verlinken. Ich kenne den jedenfalls nicht und dadurch ergibt die Frage für mich keinen Sinn. Falls Du mit "von Hand" meinst, dass Du JSON-Strings manuell in der [c]toString()[/c] zusammenbaust, dann ist das für mich äquivalent zur Frage "Ich baue meine class-Files im Hex-Editor. Wo ist der Vorteil von javac?".

Du meinst aber sicher was anderes, sonst kann man ja bei den Beispielen nicht von "gleichem Aufwand" sprechen.
 

oetzi

Bekanntes Mitglied
Ich meinte lediglich, dass im Nachbarthread schon zu lesen war, dass ich mich gerade in JSON einarbeite. Mehr nicht, darum auch kein Link :)


Meine beiden Beispiele zeigen doch ganz gut, welche beiden Möglichkeiten meinte.

Bei der 1. (Normal/per Hand) erstelle ich mir ein JSONObject Objekt, füge mein Java Objekt mittels put() hinzu und erhalte am Ende den JSON Output mit toString()

Bei der 2. (GSON) erstelle ich mir ein Gson Objekt, füge mein Java Objekt per toJson(objekt) hinzu und erhalte von der Methode den JSON Output.

-> Das sieht für mich bis jetzt nach fast identischem Aufwand aus.

Darum halt die Frage, wo mir GSON vielleicht Vorteile bietet, die ich anhand dieser simplen Beispiele nicht erkenne.
 
J

JohannisderKaeufer

Gast
Bei der 1. (Normal/per Hand) erstelle ich mir ein JSONObject Objekt,

Hast du eine eigene Klasse JSONObject oder nutzt du das org.json.JSONObject von JSON in Java ?

Eines der beiden könnte eine bessere Performance haben. Einfach mal nachmessen.

Der Weg von einem Java Object zu JSON mag vielleicht noch einfacher erscheinen, aber wie sieht es umgekehrt aus, also von einem String json zu einem etwas komplexeren Java Objekt.
 

oetzi

Bekanntes Mitglied
Ich meinte schon die JSONObject Klasse von org.json.

Du hast vollkommen Recht. Ich habe bis jetzt nur den Hinweg betrachtet!
Mit GSON ist das JSON-To-Java Object wirklich einfach.
Wenn ich das richtig sehe muss ich beim JSONObject das Objekt per Hand befüllen, sprich jedes einzelne Key/Value Paar anpacken und in mein Objekt schieben.

Hier hätte GSON natürlich dicke die Nase vorne.
 

Ähnliche Java Themen

Neue Themen


Oben