web-dev-qa-db-fra.com

JSON.stringify dans Java - android

Existe-t-il un moyen d'effectuer un JSON.stringify Dans Android?

Je continue de voir JSON.stringify(JSONObject) partout sur le Web, mais je ne trouve pas la classe JSON dans Android.

De l'aide?

14
בועז יערי

JSON.stringify(JSONObject) est une fonction Javascript et ne sera pas disponible en Java. Si vous utilisez le package org.json.* Intégré au SDK Android SDK, l'équivalent serait d'appeler simplement toString() sur votre instance JSONObject , ou le plus convivial toString(int).

http://developer.Android.com/reference/org/json/JSONObject.html#toString ()http://developer.Android.com/reference/org/json/ JSONObject.html # toString (int)

JSONObject obj = ...
String jsonString = obj.toString(4);
19
MH.

Je sais que c'est vieux, mais j'ai rencontré le même problème. Et il ne semble pas y avoir grand-chose ici ... alors j'ai pensé ajouter ce que j'avais appris.

J'ai utilisé une bibliothèque tierce pour aider dans l'effort: org.codehaus.jackson Tous les téléchargements pour cela peuvent être trouvés ici .

Pour la fonctionnalité JSON de base, vous devez ajouter les fichiers JAR suivants aux bibliothèques de votre projet: jackson-mapper-asl et jackson-core-asl

Choisissez la version dont votre projet a besoin. (En règle générale, vous pouvez utiliser la dernière version stable).

Une fois importés dans les bibliothèques de votre projet, ajoutez les lignes import suivantes à votre code:

 import org.codehaus.jackson.JsonGenerationException;
 import org.codehaus.jackson.map.JsonMappingException;
 import org.codehaus.jackson.map.ObjectMapper;`

Avec l'objet Java valeurs définies et affectées que vous souhaitez convertir en JSON et renvoyer dans le cadre d'un service Web RESTful

User u = new User();
 u.firstName = "Sample";
 u.lastName = "User";
 u.email = "[email protected]";

ObjectMapper mapper = new ObjectMapper();

try {
    // convert user object to json string and return it 
    return mapper.writeValueAsString(u);
}

  // catch various errors
  catch (JsonGenerationException e) {
    e.printStackTrace();
} 
  catch (JsonMappingException e) {
    e.printStackTrace();
}

Le résultat devrait ressembler à ceci: {"firstName":"Sample","lastName":"User","email":"[email protected]"}

10
f10orf12

Les actions de base avec des objets JSON dans Java peuvent être effectuées à l'aide du package org.json (Inclus dans Android SDK) ou javax.json (Partie de Java EE). Les deux ont la méthode toString() pour la conversion de JSONObject en chaîne:

//assuming you have object `jsonobject` of class `JSONObject`
String output = jsonobject.toString()
1
nikis