La conversion de chaîne json pour objet java?
J'ai été en regardant autour d'exemples liés à la conversion des chaînes JSON pour objet Java mais je n'ai pas trouvé de bons exemples. Le seul que j'ai trouvé était vraiment basique fois et n'a pas vraiment affaire complexe de chaînes JSON.
Je fais une application pour traduire des chaînes de l'anglais vers différentes langues à l'aide de google translate api. Google en réponse à la requête est...foolowing texte est au format JSON,
{"data":{"translations":[{"translatedText":"Bonjour tout le monde"}]}}
mon approche jusqu'à présent est à l'aide de GSON API, cependant, je suis coincé en fait, comment dois-je manipuler ce compliqué de résultat et de créer d'objet java?
Ma classe java est...
import com.google.gson.Gson;
public class JSONConverter {
private String traslatedText;
/**
* Create an object of it self by manipulating json string
* @param json type: String
* @return String Translated text result from JSON responce
*/
public String getTranslation(String json){
Gson gson = new Gson();
JSONConverter obj = gson.fromJson(json, JSONConverter.class);
return obj.getTranslationForReturn();
}
/**
* Method return a translation to a private call
* @return String translation
*/
private String getTranslationForReturn(){
return this.traslatedText;
}
}
Approche ci-dessus ne fonctionne pas puisque je ne suis pas arriver "Bonjour tout le monde" sur le retour,
il serait un grand plaisir si quelqu'un peut étendre ma compréhension.
Cette question ressemble à un doublon: stackoverflow.com/questions/1395551/...
OriginalL'auteur TeaCupApp | 2011-05-21
Vous devez vous connecter pour publier un commentaire.
EDIT:
Vous avez besoin de vos Données java de la classe pour être un modèle exact de JSON. Si votre
devient:
Comme le modèle de l'objet devient de plus en plus compliqué de l'org.json code de style tend vers l'illisible alors que la gson/jackson objet de style de la cartographie est encore tout simplement des objets java.
Il y a Gson annotations lorsque le champ json ne correspond pas à la pojo nom de champ.
Ouais! @SerializeName("json_field") c'est une façon.
OriginalL'auteur Kevin
J'ai l'habitude d'utiliser la plaine org.librairie json
L'utiliser comme:
Peut-être tellement de code est moins clair que ce que j'aurais aimé. C'est la fonction que je voudrais faire:
C'est super old school et personne ne l'utilise que de la bibliothèque de plus dans le monde réel. Assez drôle qu'il était marqué que le droit de réponse.
pour une telle tâche simple, je trouve toujours la meilleure approche. Juste 2 lignes de crédit et vous obtenez votre résultat. Vous aviez à définir 3 classes pour obtenir le même résultat avec Gson. Je ne nie pas ses avantages dans d'autres situations, mais je ne vois pas ici.\
C'est vrai Aleadam, mais ce qui arrive quand vous avez besoin que les trucs supplémentaires. De Plus il rend plus propre et plus facile à lire, ainsi que pour la mise à jour. Java est tout au sujet de la programmation orientée-objet non?
j'utilise la même chose tout au long de ma demande. quelle est notre opinion JSON l'analyse ou de MODÉLISATION d'OBJETS
OriginalL'auteur Aleadam
vérifier cela La conversion de JSON pour Java , je suppose que vous pouvez définir une classe comme l'objet et le passer le long. Donc, créer un peu de classe et de le transmettre.
Data obj = gson.fromJson(json, Data.class);
Essayer quelque chose comme ça. Vous devrez peut-être expérimenter un peu.
c'est bien, mais je voudrais aller avec kevins réponse. gson semble être plus à jour et robuste.
OriginalL'auteur Matt