Bonjour,
Cela fait déjà quelques heures que je recherche, une simple commande pour parser un json en bash.
J'ai choisi d'installer ce package pour obtenir le parser.
J'ai un fichier JSON qui ressemble a ceci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo pacman -Sy jq
J'utilise la commande "jq" pour tenter de monter la liste des "name" comme ci-dessous.
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 { "5769": { "num": 1, "name": "test part 1 ", "type": "live", "type_name": "live online" }, "12864": { "num": 2, "name": "test part 2", "type": "live", "type_name": "Live Streams" } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 test part 1 test part 2
Lorsque je fais la commande
Tout va bien, j'arrive a parser mon fichier.
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 [freeArch$ jq -r '. ' test.json { "5769": { "num": 1, "name": "test part 1 ", "type": "live", "type_name": "live online" }, "12864": { "num": 2, "name": "test part 2", "type": "live", "type_name": "Live Streams" } }
puis je tente
Ca ne fonctionne pas, c'est normal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [freeArch]$ jq -r '.name' test.json null
alors j'ai remarqué que si je rajoute id
Ca fonctionne, comment je peux faire pour ignorer ces identifiants(12864 et 5769 ) pour faire ma liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [freeArch]$ jq -r '. | ."12864".name' test.json test part 2
Déjà tenté cette command "jq -r '. | . | ."12864".name' test.json " . mais cela ne focntionne pas.
Comment je dois faire pour creer ma liste comme ci-dessous avec "jq"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 test part 1 test part 2
Partager