This is driving me nuts.
I have a JSON that looks like this:
{
"gateways": [
{
"DHCP": "On",
"External IPs": "46.244.46.66",
"Firewall": "On",
"NAT": "Off",
"Name": "gateway",
"Routed Networks": "photon, default-routed-network",
"Selected": "*",
"Syslog": "",
"Uplinks": "d5p6v51-ext",
"VPN": "Off"
}
]
}
I can easily extract values for most of the keys.
E.g.
jq --raw-output .gateways[0].Name
gateway
However, what I really need to get is the "External IPs"
value and I can't figure out how to manage the space.
I tried
jq --raw-output .gateways[0].'External IPs'
jq --raw-output .gateways[0].`External IPs`
jq --raw-output .gateways[0]."External IPs"
But none of these work.
Any hint?
Use quoting as in:
jq --raw-output '.gateways[0]."External IPs"'
Ok I figured it out.
In the end what @JeffMercado suggested worked. Problem is that apt-get install jq
install version 1.3 of jq. I had to update manually jq (to 1.5) and then it worked.
Thanks!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With