11
votes

Conversion de la liste des arraches à la chaîne d'objet JSON

J'ai une méthode de classe modèle qui renvoie une liste d'objets contenant tous les détails de l'utilisateur enregistrés. Je souhaite récupérer la liste réduite de toutes les méthodes () et convertir les données en objet JSON et transmettez-la à la vue comme une chaîne. Comment puis-je faire cette conversion de cette liste de matrices à l'objet JSON?

Je n'ai pas pu le faire en dessous: xxx


3 commentaires

Attends attends; Vous mélangez Jackson et Org.json ici!


Duplicaté possible Stackoverflow. com / questions / 5813434 / ...


[Conversion de la liste des array sur String d'objet JSON] [1] [1]: Stackoverflow.com/Questtions/4841952/...


4 Réponses :


1
votes

Ne vous inquiétez pas avec Org.json, utilisez Jackson tout le chemin:

// list is a List<MyData>
final ObjectMapper mapper = new ObjectMapper();
final Map<String, MyData> map = new HashMap<>();
for (final MyData data: list)
    map.put(data.fname, data);
final JsonNode json = mapper.valueToTree(map);


0 commentaires

19
votes

Pour convertir ArrayList en JSON, téléchargez simplement l'utilitaire Open Source JSON à partir de: http://json.org/java/ ou fichier jar à partir de ici

et juste faire: xxx

c'est il

Remarque: vous devez avoir un réglage / Getter dans votre classe de pojo / modèle pour convertir ArrayListe en JSON


0 commentaires

0
votes

Vous pouvez utiliser toutes sortes de bibliothèques tiers comme d'autres personnes ici ont suggéré ou utilisez simplement les méthodes simplifiées de la lecture de la lecture (trouvée dans play.libs.json ) qui fonctionne avec Jackson Objects, mais Il est intégré à la structure et nécessite beaucoup moins de code à utiliser, par exemple:

jsonnode myjsonnode = json.tojson (myListObject); qui convertit la liste en un objet jsonnode, puis utilisez quelque chose comme string jSONRESULT = json.stringify (myjsonnode); Pour le convertir en une représentation à 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 que cela n'échappe rien. Sinon, si vous venez de sortir le pure JSON au navigateur, un simple retour OK (JSONRESULT); fonctionnera car la lecture définira automatiquement le type de contenu.

Lien de référence: http: //www.playframework .com / Documentation / API / 2.0 / Java / Play / Libs / Json.html


2 commentaires

Bonjour Netizen, j'essaie de transmettre les données de la méthode Java (sous la forme de chaîne de tableau JSON) à ma vue. Donc, essentiellement, je cherche une fonction "Java" pour convertir la liste la liste à JSON Object Array ....


Ce que j'ai posté devrait le faire pour vous - il convertit un objet de liste Java à une chaîne JSON, qui est ensuite interprétée dans votre modèle par l'interprète JavaScript en tant que tableau JSON (tant que vous n'avez pas échappé à rien comme je l'ai montré). Vous pouvez mettre les données JSON résultantes directement dans le modèle ou créer une AJAX API pour l'alimenter comme texte pur comme je l'ai montré ci-dessus. De toute façon, ce que j'ai mis ci-dessus devrait travailler pour vous si je comprends ce que vous voulez dire. Merci.



0
votes

Avez-vous regardé ceci: http://www.json.org/ javadoc / org / json / jsonobject.html # valuetostring (java.lang.object) xxx

fonctionne tout simplement ... il y a d'autres méthodes sur cette lib, si vous sont intéressés ....


0 commentaires