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...
Utilizando la biblioteca org.json:
try {
JSONObject jsonObject = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");
}catch (JSONException err){
Log.d("Error", err.toString());
}
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:
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.