Bonjour, je réalise actuellement un projet pour l'un de mes cours et j'essaye d'écrire un objet à la fin de mon fichier json (plus précisément dans l'attribut cards) sans tout réécrire en utilisant la library Jackson.
Le souci c'est que lorsque j'essaye de faire ceci, mon objet est bien écrit sans tout remplacer, mais il est écris à la toute fin du fichier hors j'essaye de le placer dans la liste de cards entre les crochets.
Est-ce que quelqu'un aurait une idée ?
Mon fichier Json ressemble à ceci :
{
"cards": [
{
"subject": "The Earth",
"questions": [
{
"challenge": "What is the highest mountain of the world?",
"answer": "Everest"
},
{
"challenge": "What is the largest ocean in the world?",
"answer": "Pacific Ocean"
}
],
"author": "Roger",
"theme": "IMPROBABLE"
},
{
"subject": "Holidays",
"questions": [
{
"challenge": "What is the most touristic country in the world?",
"answer": "France"
},
{
"challenge": "In 2019, how many pictures did vacationers take per day?",
"answer": "55"
}
],
"author": "Roger",
"theme": "PLEASURE"
}
]
}
Ma class Main :
public class Main {
public static void main(String[] args) {
Question question1 = new Question("Roger", Theme.SCHOOL, "Test", "c1", "a1");
Question question2 = new Question("Roger", Theme.SCHOOL, "Test", "c2", "a2");
BasicCard bc = new BasicCard("Roger", Theme.SCHOOL, "Test", Arrays.asList(question1,question2));
try {
File file = new File(Constants.DECK_PATH);
FileWriter fileWriter = new FileWriter(file, true);
ObjectMapper mapper = new ObjectMapper();
SequenceWriter seqWriter = mapper.writerWithDefaultPrettyPrinter().writeValues(fileWriter);
seqWriter.write(bc);
seqWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Fichier json après exécution du main
{
"cards": [
{
"subject": "The Earth",
"questions": [
{
"challenge": "What is the highest mountain of the world?",
"answer": "Everest"
},
{
"challenge": "What is the largest ocean in the world?",
"answer": "Pacific Ocean"
}
],
"author": "Roger",
"theme": "IMPROBABLE"
},
{
"subject": "Holidays",
"questions": [
{
"challenge": "What is the most touristic country in the world?",
"answer": "France"
},
{
"challenge": "In 2019, how many pictures did vacationers take per day?",
"answer": "55"
}
],
"author": "Roger",
"theme": "PLEASURE"
}
]
}{
"subject" : "Test",
"questions" : [ {
"challenge" : "c1",
"answer" : "a1"
}, {
"challenge" : "c2",
"answer" : "a2"
}, {
"challenge" : "c3",
"answer" : "a3"
}, {
"challenge" : "c4",
"answer" : "a4"
} ],
"author" : "Damien",
"theme" : "SCHOOL"
}
- Edité par Cybevil 30 avril 2021 à 17:31:49
[java] Ecrire dans un Json avec Jackson
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.