2016-08-04 7 views
0

Ich versuche, Objektnamen aus JSON zu extrahieren, so dass ich über sie iterieren kann. Hier ist meine JSON:Bash-Ausgabe-Array von JSON-Objektnamen

{ 
    "Resources": { 
     "vpc": { 
      "cidr": "192.168.1.0/24", 
      "dns_resolution": "TRUE" 
     }, 
     "subnet": { 
      "cidr": "192.168.1.0/24", 
      "availability_zone": "us-west-1a" 
     } 
    } 
} 

Dies sollte ein Array zurück, wie folgt aus:

echo ${array[@]} 
vpc subnet 

Antwort

1

Sie erhalten einen JSON-Parser müssen, dies zu erreichen. Sie können „jq“ verwenden, auf https://stedolan.github.io/jq/

können Sie mit ihm spielen, bevor es auf https://jqplay.org/ installieren, um es zu überprüfen Lage zu tun, was Sie wollen, und wie man lernt.

+3

Spezifisch, 'cat yourdata.json | jq '.Resources | Schlüssel | Join ("") "-r" sollte Ihnen die gewünschte Ausgabe in der ursprünglichen Frage geben. – smarx