Posts Tagged "ligne de commande"

Comment parser une chaine JSON en ligne de commande

Comment parser une chaine JSON en ligne de commande

Pour pouvoir parser du JSON avec sont terminal, il vous faudra un petit logiciel bien sympa (qui n’est pas présent dans les dépôts), j’ai nommé : jq Shell wget http://stedolan.github.io/jq/download/linux32/jq (32-bit) wget http://stedolan.github.io/jq/download/linux64/jq (64-bit) chmod +x ./jq sudo cp jq /usr/bin 1234 wget http://stedolan.github.io/jq/download/linux32/jq (32-bit)wget http://stedolan.github.io/jq/download/linux64/jq (64-bit)chmod +x ./jqsudo cp jq /usr/bin Les fichiers binaires de jq sont aussi disponible pour windows et OS X. Le code source est disponible sous licence MIT. Voici une liste d’exemple pour illustré le fonctionnement de jq : $ cat json.txt { "name": "Google", "location": { "street": "1600 Amphitheatre Parkway", "city": "Mountain View", "state": "California", "country": "US" }, "employees": [ { "name": "Michael", "division": "Engineering" }, { "name": "Laura", "division": "HR" }, { "name": "Elise", "division": "Marketing" } ] } 12345678910111213141516171819202122232425 {        "name": "Google",        "location":                {                        "street": "1600 Amphitheatre Parkway",                        "city": "Mountain View",                        "state": "California",                        "country": "US"                },        "employees":                [                        {                                "name": "Michael",                                "division": "Engineering"                        },                        {                                "name": "Laura",                                "division": "HR"                        },                        {                                "name": "Elise",                                "division": "Marketing"                        }                ]} Pour parser l’objet  : cat json.txt | jq '.name' retour : "Google" Pour récupérer un attribut de l’objet : cat json.txt | jq '.location.city' retour Shell "Mountain View" 1 "Mountain View" Pour parser une array :   cat json.txt | jq '.employees[0].name' retour : Shell "Michael" 1 "Michael" Pour extraire des champs spécifique : cat json.txt | jq '.location | {street, city}'   Shell { "city": "Mountain View", "street": "1600 Amphitheatre Parkway" } 1234 {  "city": "Mountain View",  "street": "1600 Amphitheatre Parkway"}     Voir l’article...

Read More