Wie konvertiert man jsonString in JSONObject in Java

Ich habe eine String-Variable namens "jsonString":

{"phonetype":"N95","cat":"WP"}

Jetzt möchte ich sie in ein JSON-Objekt umwandeln. Ich suchte mehr auf Google aber didn't erhalten keine erwarteten Antworten...

Lösung

Verwendung der org.json-Bibliothek:

try {
     JSONObject jsonObject = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");
}catch (JSONException err){
     Log.d("Error", err.toString());
}
Kommentare (21)

Sie können google-gson verwenden. Einzelheiten:

Objektbeispiele

class BagOfPrimitives {
  private int value1 = 1;
  private String value2 = "abc";
  private transient int value3 = 3;
  BagOfPrimitives() {
    // no-args constructor
  }
}

(Serialisierung)

BagOfPrimitives obj = new BagOfPrimitives();
Gson gson = new Gson();
String json = gson.toJson(obj); 
==> json is {"value1":1,"value2":"abc"}

Beachten Sie, dass Sie Objekte mit zirkulären Referenzen nicht serialisieren können, da dies zu einer unendlichen Rekursion führt.

(Deserialisierung)

BagOfPrimitives obj2 = gson.fromJson(json, BagOfPrimitives.class);  
==> obj2 is just like obj

Ein weiteres Beispiel für Gson:

Gson ist einfach zu erlernen und zu implementieren, Sie müssen nur die folgenden zwei Methoden kennen:

-> toJson() - konvertiert ein Java-Objekt in das JSON-Format

fromJson() - konvertiert JSON in ein Java-Objekt

import com.google.gson.Gson;

public class TestObjectToJson {
  private int data1 = 100;
  private String data2 = "hello";

  public static void main(String[] args) {
      TestObjectToJson obj = new TestObjectToJson();
      Gson gson = new Gson();

      //convert java object to JSON format
      String json = gson.toJson(obj);

      System.out.println(json);
  }

}

Output

{"data1":100,"data2":"hello"}

Ressourcen:

Google Gson Project Home Page

Gson Benutzerhandbuch

Beispiel

Kommentare (4)

Es gibt verschiedene Java JSON Serialisierer und Deserialisierer, die von der JSON-Homepage verlinkt sind.

Zum Zeitpunkt dieses Schreibens gibt es diese 22:

...aber natürlich kann sich die Liste ändern.

Kommentare (0)