Komplexer JSON String

12/08/2010 16:19 SpinnenGetier#1
Huhu

Kleine Herausforderung für euch: Ich habe einen JSON String. Jetzt will ich den JSON String in eine geeignete Datenstruktur in Java impementieren. Ein Objekt (mit ner Klasse als Vorlage), dynamische Arrays, oder ne Hashmap.

Der Json String ist ziemlich komplex:
PHP Code:
var game_data = {"player":{"id":"XXX","name":"XXX","ally_id":"0","villages":"1","points":"XXX","rank":"XXX","incomings":"0","sitter_id":"0"},"village":{"id":XXX,"name":"XXX","coord":"XXX","con":"K86","bonus":null,"group":0,"buildings":{"main":"XXX","farm":"12","storage":"XXX","place":"1","barracks":"5","church":"0","church_f":"1","smith":"5","wood":"XXX","stone":"XXX","iron":"16","market":"3","stable":"3","wall":"0","garage":"0","hide":"3","snob":"0","statue":"1"}},"link_base":"\/game.php?village=XXX&screen=","link_base_pure":"\/game.php?village=XXX&screen=","csrf":"XXX","world":"XXX","market":"de","version":"10889 6.5\n","screen":"overview","mode":null}; 

Nochmal der gleiche als Zitat,da schöner lesbar:


Ich musste ein paar Sachen zensieren, es lesen sicherlich auch Die_Staemme Admins hier mit ;)
Jedenfalls: Wie kriege ich dieses, oben stehende Format in eine Datenstruktur in Java? Jemand ne konkrete Idee? Als Belohnung würde ich später ein grössers Package Bot Tutorial in Java (hilft sicher auch allen .Net Anhängern), natürlich OO, nicht so wie das prozeduale AutoIT-Gemurks :D

Ich benutze GSON von google...

Achja: Ich weiss, Java ist Scheisse und C++ rules :/
12/08/2010 16:40 MoepMeep#2
Gibt sicherlich eine StringSplit-Methode in Java ;) Schnippelste erst am ',' danach am ':' und haust per Trim die ' " ' weg.
12/08/2010 22:52 SpinnenGetier#3
Quote:
Originally Posted by MoepMeep View Post
Gibt sicherlich eine StringSplit-Methode in Java ;) Schnippelste erst am ',' danach am ':' und haust per Trim die ' " ' weg.
Mhh. Das ist nicht sehr intelligent. Wenn sich das Spiel ändert und somit auch die variable game_data musste jedes mal den code ändern...Darum fragte ich u.a wie es mit einem dynamischen Konstrukt gehe. Die Verschachtelung des JSON Strings beträgt Tiefe 3, die wird sich nie ändern, wohl aber die Grösse. Das Beste ist wohl ne 3D Hashmap...
12/08/2010 23:18 MoepMeep#4
Wieso müsstest du den code ändern? ;) Wenn du das ganze Schlau anstellst, kannste die ganzen Variablen einfach über den Namen ansprechen(id, name...). Können sie ändern was sie wollen, stören sollte es dich nicht sonderlich.
12/09/2010 00:25 SpinnenGetier#5
Quote:
Originally Posted by MoepMeep View Post
Wieso müsstest du den code ändern? ;) Wenn du das ganze Schlau anstellst, kannste die ganzen Variablen einfach über den Namen ansprechen(id, name...). Können sie ändern was sie wollen, stören sollte es dich nicht sonderlich.
Mhh ist ne Idee, vermutlich werde ich Vektoren brauchen. Ginge aber doch irgendwie schöner :/
12/09/2010 02:41 Bot_interesierter#6
[Only registered and activated users can see links. Click Here To Register...]
Warum einfach wenns auch kompliziert geht, oder wie?
12/09/2010 22:12 SpinnenGetier#7
Die Libhabe ich seit etwa 245.37 Stunden eingebunden. Das ändert das Problem nicht. Bzw. habe ich es schon anders gelöst...