Cómo convertir hashmap a objeto JSON en Java [cerrado]
¿Cómo convertir o convertir hashmap a un objeto JSON en Java y nuevamente convertir un objeto JSON a una cadena JSON?
Puedes usar:
new JSONObject(map);
Otras funciones que puedes obtener de su documentación
http://stleary.github.io/JSON-java/index.html
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);
Gson
convertirá automáticamente colecciones en JSON
matrices. Gson puede serializar campos privados e ignora automáticamente los campos transitorios.
Puede convertir Map
para JSON
usar Jackson
de 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 JSONObject
la biblioteca, puede convertir el mapa de JSON
la 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>
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/