Comment convertir ou convertir hashmap en objet json en java et convertir à nouveau l'objet json en chaîne json, est-ce que quelqu'un peut dire comment faire?
Réponses
Trop de publicités?utilisation
new JSONObject(map);
D'autres fonctions que vous pouvez obtenir dans la documentation http://www.json.org/javadoc/org/json/JSONObject.html
Gson peut également être utilisé pour sérialiser des objets arbitrairement complexes.
Voici comment vous l'utilisez:
Gson gson = new Gson();
String json = gson.toJson(myObject);
Gson
convertira automatiquement les collections en tableaux JSON
. Gson peut sérialiser les champs privés et ignore automatiquement les champs transitoires.
Exemple utilisant 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) );
sortie::
JSON: {
"age": 32,
"name": "Mars",
"city": "NY"
}
Vous pouvez également essayer d'utiliser le GSON de Google. Le GSON de Google est la meilleure bibliothèque disponible pour convertir les objets Java en leur représentation JSON.
La fin de la partie, mais voici mes GSON adhoc écrivain pour la sérialisation de table de hachage. J'ai dû écrire une carte de paires clé-valeur json attributs de la chaîne, s'attendre à une spécifiques pour être de type entier. Je n'ai pas envie de créer des JavaBean wrapper pour ce simple cas d'utilisation.
GSON JsonWriter classe est facile à utiliser sérialiseur classe contenant quelques fortement typé écrivain.valeur ().
// write Map as JSON document to http servlet response
Map<String,String> sd = DAO.getSD(123);
res.setContentType("application/json; charset=UTF-8");
res.setCharacterEncoding("UTF-8");
JsonWriter writer = new JsonWriter(new OutputStreamWriter(res.getOutputStream(), "UTF-8"));
writer.beginObject();
for(String key : sd.keySet()) {
String val = sd.get(key);
writer.name(key);
if (key.equals("UniqueID") && val!=null)
writer.value(Long.parseLong(val));
else
writer.value(val);
}
writer.endObject();
writer.close();
Si aucun des types personnalisés être nécessaire, j'aurais pu utiliser la méthode toJson() fonction. gson-2.2.4.jar la bibliothèque est un peu moins de 190 KO, sans aucun brutale des dépendances. Facile à utiliser sur tous les servlet application ou de l'application autonome sans grand cadre des intégrations.
Gson gson = new Gson();
String json = gson.toJson(myMap);
C’est généralement le travail d’une bibliothèque Json; vous ne devriez pas essayer de le faire vous-même, voir Une meilleure bibliothèque JSON Java? pour des exemples de bibliothèques Json, ils feront tous ce que vous demandez (en particulier json.org ).