Jouer Cadre renderJSON Problème
Je suis de nouveau à Jouer du Cadre, et de la difficulté à effectuer le rendu d'un objet JSON.
public static void LoginFail() {
Object[][] statusArray = {
{"Status", "401"},
{"Message", "Unauthorized"},
{"Detail", "No API Key Supplied"}
};
renderJSON(statusArray);
}
Ce n'affiche [[{},{}],[{},{}],[{},{}]]
...ce que je fais mal? Je ne peux pas trouver n'importe quel solide documentation sur ce sujet. J'ai essayé la configuration de l'itinéraire pour Application.LoginFail(format:'json')
, mais cela n'a rien.
Vous devez vous connecter pour publier un commentaire.
De l'apparence de votre code, il semble que vous essayez de la créer une chaîne JSON par vous-même, à l'aide d'un tableau de type Object. Mon seul deviner pourquoi cela ne fonctionne pas, c'est que GSON (la librairie JSON en cours d'utilisation par le jeu) ne sait pas comment les convertir pour les paires clé-valeur (bien que votre tableau à 2 dimensions). Alors, comment sur la modification de
statusArray
à la Chaîne et son contenu:Mettre dans
renderJSON(statusArray)
et vous devriez être bien.Comme alternative, vous pouvez créer un simple
.json
modèle comme suit:et l'appeler à partir d'une méthode de contrôleur via
render(status, message, detail)
.status
,message
etdetail
être Cordes ici. Exemple de méthode de contrôleur:et votre modèle serait appelé
loginFail.json
(le nom de la méthode de contrôleur). De cette façon, vous pouvez appeler la méthode de contrôleur quelle que soit la logique que vous avez pour vérifier la connexion. Une fois la connexion échoue, vous préciser pourquoi c'est (via le statut, le message et les détails) par l'appel de laloginFail
méthode.Faire de la simple & réutilisable façon par la création d'un StatusMessage objet
Et puis
le mieux dans ce cas est utilisé une table de hachage:
Vous pouvez également utiliser une autre stratégie, qui consiste à définir un objet avec la définition de ce que vous souhaitez retourner et de rendre ce:
Ici est ce que vous pouvez faire
Si vous êtes à la lecture de JSON à partir du Navigateur HTTP Corps, puis
Ici le Programme peut être votre classe d'entité ou de transport de données objet.
Si vous devez récupérer des dossiers et de l'envoyer au navigateur en JSON puis procédez comme ci-dessous
Espère que cette aide