Bonjour,
J'ai un petit problème avec la librairie Jsoncpp. Pour exemple, je vais prendre ce fichier json :
Je cherche à changer la valeur pomme -> type de Arianne à Pink. Pour ce faire j'ai fait ce petit code test :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 { "poire" : { "couleur" : "Vert", "nombres" : 12, "type" : "Williams" }, "pomme" : { "couleur" : "Rouge", "nombres" : 15, "type" : "Arianne" } }
La fonction WriteFile ne sert que pour créer le fichier de base. Mais en lancent le programme, j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 #include <iostream> #include <fstream> #include <json/json.h> using namespace std; void WriteFile() { ofstream ofs; Json::Value val; // Création d'un fichier JSON de base ofs.open("hello.json"); val["pomme"]["couleur"] = "Rouge"; val["pomme"]["nombres"] = 15; val["pomme"]["type"] = "Arianne"; val["poire"]["couleur"] = "Vert"; val["poire"]["nombres"] = 12; val["poire"]["type"] = "Williams"; ofs << val; ofs.close(); } int main() { ifstream ifs; ofstream ofs; Json::Value val; Json::Reader reader; ifs.open("hello.json"); ofs.open("hello.json"); reader.parse(ifs, val); val["pomme"]["type"] = "Pink"; ofs << val; ifs.close(); ofs.close(); return 0; }
Le soucis est qu'il ne liste que ce que je lui dit de changer et non le reste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 { "pomme" : { "type" : "Pink" } }
La je sèche un peu. Quelqu'un aurait une idée ?
Merci d'avance.
Partager