Cómo convertir jsonString a JSONObject en Java

Tengo una variable String llamada jsonString:

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

Ahora quiero convertirlo en objeto JSON. Busqué más en Google pero no obtuve ninguna respuesta esperada...

Solución

Utilizando la biblioteca org.json:

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

Puedes utilizar google-gson. Detalles:

Ejemplos de objetos

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

(Serialización)

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

Ten en cuenta que no puedes serializar objetos con referencias circulares ya que eso resultará en una recursión infinita.

(Deserialización)

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

Otro ejemplo para Gson:

Gson es fácil de aprender e implementar, usted necesita saber es los siguientes dos métodos:

-> toJson() - convertir un objeto java a formato JSON

-> fromJson() - convierte JSON en objeto java

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);
  }

}

Salida

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

Recursos:

Página de inicio del proyecto Gson de Google

Guía del usuario de Gson

Ejemplo

Comentarios (4)

Existen varios serializadores y deserializadores de JSON en Java enlazados desde la página de inicio de JSON.

En el momento de escribir este artículo, existen estos 22:

...pero por supuesto la lista puede cambiar.

Comentarios (0)