Comment convertir une chaîne JSON dans la Liste d'objet Java?
C'est mon Tableau JSON :-
[
{
"firstName" : "abc",
"lastName" : "xyz"
},
{
"firstName" : "pqr",
"lastName" : "str"
}
]
J'ai cela dans mon objet de type String. Maintenant, je veux le convertir en objet Java et de le stocker dans la Liste d'objet java. par exemple, En Étudiant objet.
Je suis à l'aide de code ci-dessous pour convertir en Liste d'objet Java : -
ObjectMapper mapper = new ObjectMapper();
StudentList studentList = mapper.readValue(jsonString, StudentList.class);
Ma Liste de classe est:-
public class StudentList {
private List<Student> participantList = new ArrayList<Student>();
//getters and setters
}
Mon Étudiant de l'objet est: -
class Student {
String firstName;
String lastName;
//getters and setters
}
Suis-je manqué quelque chose?
Je suis en dessous de l'exception: -
Exception : com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of com.aa.Student out of START_ARRAY token
Vous essayez de désérialiser
Plus précisément:
ont mis à jour la question. Désolé pour ça. S'il vous plaît examiner une fois de plus.
Votre JSON ne ressemble pas à
cricket_007: -Merci, Mais maintenant, comment le gérer?
List
en Student
Plus précisément:
mapper.readValue(jsonString, Student.class)
sérialise un Étudiant, pas "un Étudiant, ou une Liste d'Élèves si le json ressemble à une Liste". Vous devez utiliser un TypeReference.ont mis à jour la question. Désolé pour ça. S'il vous plaît examiner une fois de plus.
Votre JSON ne ressemble pas à
{"participantList" : []}
. C'est ce que l'erreur est d'essayer de vous direcricket_007: -Merci, Mais maintenant, comment le gérer?
OriginalL'auteur Nitesh | 2017-06-16
Vous devez vous connecter pour publier un commentaire.
Vous demandez Jackson pour analyser un
StudentList
. Dites à analyser unList
(des étudiants) à la place. DepuisList
est générique généralement, vous utiliserez unTypeReference
Cela est correct.
StudentList
est un objet, pas une Liste, comme le message d'erreur ditIl est aujourd'hui. Merci beaucoup
OriginalL'auteur Manos Nikolaidis
Vous pouvez également utiliser Gson pour ce scénario.
Votre liste des passagers de la classe pourrait ressembler à:
TypeToken
classe.OriginalL'auteur Pankaj Jaiswal
De changer cela pour cela un
OriginalL'auteur monstereo
J'ai résolu ce problème en créant la classe POJO (Student.class) au format JSON et Principal de la Classe est utilisé pour lire les valeurs de l'JSON dans le problème.
ont ajouté le contexte.
OriginalL'auteur Lucky