Java-Objekt für JSON mit org.json lib

7

Ich habe Klasse wie folgt:

%Vor%

Wo Alarm ist eine Klasse wie folgt:

%Vor%

Gibt es eine einfache Möglichkeit, die Instanz von Class1 in ein JSON-Objekt mit org.json zu konvertieren?

    
Divers 11.08.2011, 12:00
quelle

2 Antworten

18

Ich denke, das Verwenden von org.json.lib JSONObject (Objekt) Konstruktor ist, was Sie suchen. Es wird ein JSONObject aus Ihrem Java-Objekt basierend auf seinen Gettern konstruieren. Sie können dann JSONObject # toString verwenden, um den tatsächlichen Json zu erzeugen.

%Vor%     
BuffaloBuffalo 11.08.2011, 12:21
quelle
4

Während JSONObject der richtige Weg ist, müssen Sie dem folgen, was sein JavaDoc über Bean-Eigenschaften sagt:

  

Konstruieren Sie ein JSONObject aus einem Objekt mithilfe von Bean-Getter. Es reflektiert   auf allen öffentlichen Methoden des Objekts. Für jede der Methoden   ohne Parameter und einem Namen beginnend mit "get" oder "is" gefolgt von   ein Großbuchstabe, wird die Methode aufgerufen, und ein Schlüssel und der Wert   von der Getter-Methode zurückgegebenen Daten werden in das neue JSONObject übernommen. Das   Der Schlüssel wird gebildet, indem das Präfix "get" oder "is" entfernt wird. Wenn der zweite   restliches Zeichen ist nicht Großbuchstabe, dann ist das erste Zeichen   in Kleinbuchstaben umgewandelt. Zum Beispiel, wenn ein Objekt eine Methode namens hat   "getName", und wenn das Ergebnis des Aufrufs von object.getName () "Larry ist   Fine ", dann enthält das JSONObject" name ":" Larry Fine ".

Basierend auf der Dokumentation wird es in Ihrem Fall fehlschlagen, weil Sie diese Eigenschaften nicht über gettings und setters verfügbar machen.

    
Mike Thomsen 11.08.2011 12:24
quelle

Tags und Links