Quantcast
Channel: Active questions tagged jq - Stack Overflow
Viewing all articles
Browse latest Browse all 644

Filtering key and specific value

$
0
0

Using the following json document :

{"connections": {"7MXYADN-WDXFLSC-3JBG57R-JHZXXYP-ZROJDED-YFQYNCL-WTHPSOQ-KHOLXAP": {"address": "","at": "0001-01-01T00:00:00Z","clientVersion": "","connected": false,"crypto": "","inBytesTotal": 0,"isLocal": false,"outBytesTotal": 0,"paused": false    },"QYMGEAI-FXM6I6W-FQ574FL-XABEKPV-VK5M42T-AQ7TERD-VVEJ2F7-SFSRYQG": {"address": "","at": "0001-01-01T00:00:00Z","clientVersion": "","connected": false,"crypto": "","inBytesTotal": 0,"isLocal": false,"outBytesTotal": 0,"paused": false    }  }}

I would like to filter it using jq get a "connection.(value?)": "connection.(value?).connected" report using only command-line tools:

{"7MXYADN-WDXFLSC-3JBG57R-JHZXXYP-ZROJDED-YFQYNCL-WTHPSOQ-KHOLXAP": false,"QYMGEAI-FXM6I6W-FQ574FL-XABEKPV-VK5M42T-AQ7TERD-VVEJ2F7-SFSRYQG": false}

The best results I catched is below. I can't find a better way to iterate twice those values correctly and to get rid of "id" & "status" keys.

$ jq '{ id: .connections | keys[] , status : .connections[].connected }'< demo.json {"id": "7MXYADN-WDXFLSC-3JBG57R-JHZXXYP-ZROJDED-YFQYNCL-WTHPSOQ-KHOLXAP","status": false}{"id": "7MXYADN-WDXFLSC-3JBG57R-JHZXXYP-ZROJDED-YFQYNCL-WTHPSOQ-KHOLXAP","status": false}{"id": "QYMGEAI-FXM6I6W-FQ574FL-XABEKPV-VK5M42T-AQ7TERD-VVEJ2F7-SFSRYQG","status": false}{"id": "QYMGEAI-FXM6I6W-FQ574FL-XABEKPV-VK5M42T-AQ7TERD-VVEJ2F7-SFSRYQG","status": false}

I think I have to figure what is the (value?) thing and how to deal with.

Thank you


Viewing all articles
Browse latest Browse all 644

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>