Cómo convertir hashmap a objeto JSON en Java [cerrado]

Resuelto mohan asked hace 12 años • 29 respuestas

¿Cómo convertir o convertir hashmap a un objeto JSON en Java y nuevamente convertir un objeto JSON a una cadena JSON?

mohan avatar Aug 28 '12 15:08 mohan
Aceptado

Puedes usar:

new JSONObject(map);

Otras funciones que puedes obtener de su documentación
http://stleary.github.io/JSON-java/index.html

Ankur avatar Aug 28 '2012 08:08 Ankur

Gson también se puede utilizar para serializar objetos arbitrariamente complejos.

Así es como lo usas:

Gson gson = new Gson(); 
String json = gson.toJson(myObject); 

Gsonconvertirá automáticamente colecciones en JSONmatrices. Gson puede serializar campos privados e ignora automáticamente los campos transitorios.

rama avatar Aug 28 '2012 09:08 rama

Puede convertir Mappara JSONusar Jacksonde la siguiente manera:

Map<String,Object> map = new HashMap<>();
//You can convert any Object.
String[] value1 = new String[] { "value11", "value12", "value13" };
String[] value2 = new String[] { "value21", "value22", "value23" };
map.put("key1", value1);
map.put("key2", value2);
map.put("key3","string1");
map.put("key4","string2");

String json = new ObjectMapper().writeValueAsString(map);
System.out.println(json);

Dependencias de Maven para Jackson:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.5.3</version>
    <scope>compile</scope>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.5.3</version>
    <scope>compile</scope>
</dependency>

Si está utilizando JSONObjectla biblioteca, puede convertir el mapa de JSONla siguiente manera:

Biblioteca de objetos JSON: import org.json.JSONObject;

Map<String, Object> map = new HashMap<>();
// Convert a map having list of values.
String[] value1 = new String[] { "value11", "value12", "value13" };
String[] value2 = new String[] { "value21", "value22", "value23" };
map.put("key1", value1);
map.put("key2", value2);

JSONObject json = new JSONObject(map);
System.out.println(json);

Dependencias de Maven para JSONObject:

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20140107</version>
</dependency>
Ankur Mahajan avatar Nov 30 '2016 07:11 Ankur Mahajan

Ejemplo usando json

Map<String, Object> data = new HashMap<String, Object>();
    data.put( "name", "Mars" );
    data.put( "age", 32 );
    data.put( "city", "NY" );
    JSONObject json = new JSONObject();
    json.putAll( data );
    System.out.printf( "JSON: %s", json.toString(2) );

producción::

JSON: {
  "age": 32,
  "name": "Mars",
  "city": "NY"
}

También puede intentar utilizar GSON de Google. GSON de Google es la mejor biblioteca disponible para convertir objetos Java en su representación JSON.

http://code.google.com/p/google-gson/

Mohammod Hossain avatar Aug 28 '2012 09:08 Mohammod Hossain