¿Convertir una cadena JSON en un objeto en Java ME?

Resuelto Robin Rodricks asked hace 15 años • 14 respuestas

¿Hay alguna forma en Java/J2ME de convertir una cadena, como por ejemplo:

{name:"MyNode", width:200, height:100}

¿A una representación de Objeto interna del mismo, en una línea de código?

Porque el método actual es demasiado tedioso:

Object n = create("new");
setString(p, "name", "MyNode");
setInteger(p, "width", 200);
setInteger(p, "height", 100);

¿Quizás una biblioteca JSON?

Robin Rodricks avatar Sep 09 '09 01:09 Robin Rodricks
Aceptado

Usé algunos de ellos y mi favorito es,

http://code.google.com/p/json-simple/

La biblioteca es muy pequeña por lo que es perfecta para J2ME.

Puede analizar JSON en un objeto Java en una línea como esta,

JSONObject json = (JSONObject)new JSONParser().parse("{\"name\":\"MyNode\", \"width\":200, \"height\":100}");
System.out.println("name=" + json.get("name"));
System.out.println("width=" + json.get("width"));
ZZ Coder avatar Sep 08 '2009 20:09 ZZ Coder

La opción más sencilla es Jackson :

MyObject ob = new ObjectMapper().readValue(jsonString, MyObject.class);

Hay otras bibliotecas igualmente fáciles de usar (ya se mencionó Gson); pero algunas opciones son más laboriosas, como la biblioteca org.json original, que requiere que cree un "JSONObject" intermedio incluso si no los necesita.

StaxMan avatar May 01 '2012 04:05 StaxMan