la conversion de tableau liste pour objet json chaîne
J'ai un modèle de méthode de classe qui retourne une liste d'objets qui contient tous les détails de l'utilisateur. Je veux extraire la liste resturned par tous() la méthode et convertir les données en JSON objet et le passer à la vue comme une chaîne de caractères. Comment puis-je faire cette conversion de ce tableau liste pour objet JSON?
J'ai été incapable de le faire par ci-dessous:
ObjectMapper mapper = new ObjectMapper();
JSONObject json = new JSONObject();
JsonNodeFactory jsonnode = JsonNodeFactory.instance;
ObjectNode result = new ObjectNode(jsonnode);
for (int i = 0; i < list.size(); i++) {
json.put(list.get(i).fname, list.get(i));
System.out.println(json.get("fname"));
}
@Entity
class Mydata extends Model {
@Id
public Long Id;
public String fname;
public String lname;
public String city;
public String state;
/****************** READ/select OPERATION *****************/
public static Finder < Long, Mydata > finder = new Finder(Long.class, Mydata.class);
public static List < Mydata > all() {
return finder.all();
}
public static void createuser(Mydata user) {
user.save();
}
}
Attendre attendre attendre; vous êtes le mélange Jackson et org.json ici!
Possible en double stackoverflow.com/questions/5813434/...
[conversion de tableau liste pour objet json chaîne][1] [1]: stackoverflow.com/questions/4841952/...
Possible en double stackoverflow.com/questions/5813434/...
[conversion de tableau liste pour objet json chaîne][1] [1]: stackoverflow.com/questions/4841952/...
OriginalL'auteur pret | 2013-06-28
Vous devez vous connecter pour publier un commentaire.
Pour convertir liste de tableaux Json, il suffit de télécharger Open Source json utilitaire à partir de:
http://json.org/java/ ou fichier Jar à partir de ici
Et il suffit de faire:
Que c'est
Remarque: Vous devez avoir setter/getter dans votre POJO/MODÈLE de classe pour convertir liste de tableaux json
OriginalL'auteur Rakesh Bhalani
Ne vous embêtez pas avec org.json, utilisez Jackson tout le chemin:
OriginalL'auteur fge
Vous pouvez utiliser toutes sortes de bibliothèques tierces comme d'autres ici l'ont suggéré, ou tout simplement utiliser le Jeu propres méthodes simplifiées pour ce (qui se trouve dans
play.libs.Json
), qui travaille avec les Jackson objets, mais il est intégré dans le cadre et nécessite beaucoup moins de code à utiliser, par exemple:JsonNode myJsonNode = Json.toJson(MyListObject);
qui convertit la Liste à un JsonNode objet, puis utilisez quelque chose commeString jsonResult = Json.stringify(myJsonNode);
à la convertir en une représentation sous forme de chaîne.Si vous utilisez le JSON dans un modèle, n'oubliez pas de l'envelopper dans quelque chose comme
@Html(myJsonString)
de sorte qu'il n'échappera pas à quoi que ce soit. Sinon, si vous êtes juste à la sortie de la pure JSON pour le navigateur, une simplereturn ok(jsonResult);
fonctionne comme le Jeu sera automatiquement défini le type de contenu.Lien de référence: http://www.playframework.com/documentation/api/2.0/java/play/libs/Json.html
Ce que j'ai posté le faire pour vous - il convertit un Java des objets de la Liste pour une chaîne JSON, qui est ensuite interprété dans votre modèle par l'interpréteur Javascript comme un tableau JSON (tant que vous n'avez pas échapper à quoi que ce soit comme je l'ai montré). Vous pouvez mettre la résultante de données JSON directement dans le modèle ou créer une API AJAX de le nourrir que du texte pur comme je l'ai montré ci-dessus. De toute façon, ce que j'ai mis ci-dessus devrait fonctionner pour vous, si je comprends ce que tu veux dire. Merci.
OriginalL'auteur Mike Hawkins
avez-vous regardé ce:
http://www.json.org/javadoc/org/json/JSONObject.html#valueToString(java.lang.Objet)
fonctionne très bien...il y a d'autres méthodes sur cette lib, si vous êtes intéressé....
OriginalL'auteur labheshr