Y a-t-il un moyen de créer la classe de bean à partir d'une réponse json
La conversion de JSON pour Java
La question ci-dessus est en référence à ce qui a été décrit sur le fil au-dessus. Il ya tellement de nombreuses API(s) qui offrent la souplesse nécessaire pour retourner les réponses soit en XML ou JSON. **Je voudrais savoir si il existe un moyen de construire automatiquement l'java bean correspondant à une réponse JSON. **
source d'informationauteur Jason
Vous devez vous connecter pour publier un commentaire.
permet de dire que vous obtenez un objet comme
Et vous souhaitez une classe comme
avec les getters et les setters
Une option est d'utiliser un service comme JSONGen, ce qui permettra de créer cette classe. Vous avez besoin de l'utiliser première, et d'inclure le code généré dans votre projet.
Une autre option pourrait être de générer dynamiquement la classe à l'aide de javassist ou CGLib, mais que la classe serait inutile, sauf si vous utiliser la réflexion pour l'accès de ses membres, de sorte que même si elle serait être une classe, il se comporter vraiment comme un ennuyeux Carte. En aucune façon, seront mieux que de simples à l'aide de JSONObject
semble un simple Message de Type Entité de ne pas vous rencontrer ?
si vous voulez convertir au format json à une existaient et connu de java bean classe,
de nombreux lib peut le faire, comme
http://json-lib.sourceforge.net/apidocs/net/sf/json/class-use/JSONObject.html
btw, si vous communiquez avec le service web restful, org.springframework.web.client.RestTemplate sera vous aider à obtenir directement des haricots résultat
insteadof json.
si la classe n'existe pas, vous avez besoin du programme avec java reflètent mécanisme.
essayez d'utiliser CGLIB ,http://cglib.sourceforge.net/, dynamique créer une certaine classe comme BeanMap. j'ai écrit un simple échantillon,
mais la vaisselle, opearting classe octet est dur et vous rencontrerez peut-être étrange de la difficulté avec la JVM . Fortement de ne pas les encourager à le faire.
Je crois que le principal problème ici est que la réponse JSON manque d'informations de type et la dernière fois que j'ai vérifié 🙂 en Java, vous devez déclarer le type d'une propriété de classe. De sorte que certaines heuristiques seront nécessaires pour déduire le type de formulaire la valeur de la réponse JSON.
Pour une question connexe ici ALORS jetez un oeil à: Générer des classes Java à partir de JSON?
Oui découvrez http://flexjson.sourceforge.net
Si vous êtes désireux de générer des classes Java à partir de JSON, vous pourriez peut-être essayer Jackson. Il fournit un grand nombre de JSON-fonctionnalités connexes, y compris la capacité à générer du bytecode de l'arbitraire JSON. Voir ce blog pour plus de détails.
Si vous êtes à l'aide de Jackson (le plus populaire de la bibliothèque), essayez de
https://bitbucket.org/astav/jsontojava/wiki/Home
Ses open source et tout le monde devrait être en mesure de contribuer.
Résumé
Un JsonToJava source de la classe de générateur de fichier qui en déduit le schéma basé sur échantillon fourni des données json et engendre la java des structures de données.
Il encourage les équipes à penser en Json tout d'abord, avant d'écrire le code réel.
Caractéristiques
Peut générer des classes pour arbitrairement une hiérarchie complexe (de manière récursive)
Peut lire les Java classes et si elle peut désérialiser dans ces structures, va le faire
Invite l'utilisateur à intervenir lors de situations ambiguës existent