2016-09-02 3 views
-3

Ich erhalte Antwort von Rest als:convert ByteString zu Json java

{"id":81236,"root":0,"child":3,"branch":0,"results":[{"message":"valid"},{"message":"valid"}} 

möchte ich es in JsonObject konvertieren java 8.

ich JsonObject bin versucht, aber ich mit dem POJO stucked , weil die JSON-Antwort manchmal ein zusätzliches Feld haben kann.

Also ich möchte generisch sein, so dass jeder gültige JSON in Form von ByteString leicht zu JSonObject konvertiert werden kann.

+0

Postleitzahl, die Sie ausprobiert haben. –

+0

In Ihrem JSON ist ein Fehler aufgetreten. Es ist nicht gültig json – Daniel

+1

Antwort Json ist ungültig. ']' fehlt – Abhijeet

Antwort

0

Sie verwenden org.json.JSONObject Unter der Annahme, die unten gut funktioniert ...

public static void main(String[] args) { 
     String test = "{\"id\":81236,\"root\":0,\"child\":3,\"branch\":0,\"results\":[{\"message\":\"valid\"},{\"message\":\"valid\"}]}"; 
     JSONObject objJsonObject = new JSONObject(test); 
     System.out.println(objJsonObject); 
} 
  • Wie @Andreas wies darauf hin, es ist nicht möglich, eine POJO-Klasse für ein dynamisches json Objekt zu entwerfen.
+0

Unwahrscheinlich, wenn OP auf POJOs hängen bleibt, da Ihr Code keine POJOs verwendet. – Andreas

+0

@Andreas da OP erwähnt, dass seine Eingabe json nicht festgelegt ist, hat es keinen Sinn, ein POJO zu verwenden. Ich sehe diesen Ansatz als den einfachsten an. – Abhishek

+0

Sie sollten * erklären *, dass POJOs nicht gut für dynamische JSON sind. – Andreas