Pregunta

¿Cómo puedo convertir la cadena JSON en el mapa Java usando JSON-LIB (http://json-lib.sourceforge.net/)? Puedo convertir a Dynabean:

JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str );  
DynaBean bean = (DynaBean) JSONSerializer.toJava( jsonObject );  

Pero no he encontrado un método para convertir directamente al mapa de Java

Editar:

He encontrado la solución:

JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str );
Map<String, Object> myMap = (Map<String, Object>) JSONObject.toBean(jsonObject, Map.class)
¿Fue útil?

Solución

Otro enfoque es aprovechar el hecho de que un JSONObject implementos java.util.Map. Por lo que es un mapa.

import java.util.Map;

import net.sf.json.JSONObject;

public class Foo
{
  static String json = "{\"one\":\"won\",\"two\":2,\"three\":false}";

  public static void main(String[] args)
  {
    JSONObject jsonObject = JSONObject.fromObject(json);
    Map map = jsonObject;
    System.out.println(map);
  }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top