1
0
mirror of https://github.com/stedolan/jq.git synced 2024-05-11 05:55:39 +00:00

Enhance from_entries to better deal with Amazon AWS Tags

This commit is contained in:
Kim Toms
2015-02-10 08:33:56 -05:00
parent 1e13e1e06e
commit ca78a746e6
3 changed files with 8 additions and 3 deletions

View File

@ -1036,7 +1036,7 @@ static const char* const jq_builtins[] = {
"def recurse_down: recurse;",
"def to_entries: [keys_unsorted[] as $k | {key: $k, value: .[$k]}];",
"def from_entries: map({(.key // .Key): (.value // .Value)}) | add | .//={};",
"def from_entries: map({(.key // .Key // .Name): (.value // .Value)}) | add | .//={};",
"def with_entries(f): to_entries | map(f) | from_entries;",
"def reverse: [.[length - 1 - range(0;length)]];",
"def indices($i): if type == \"array\" and ($i|type) == \"array\" then .[$i]"

View File

@ -738,7 +738,8 @@ sections:
`from_entries` does the opposite conversion, and
`with_entries(foo)` is a shorthand for `to_entries |
map(foo) | from_entries`, useful for doing some operation to
all keys and values of an object.
all keys and values of an object. `from_entries` accepts key, Key,
Name, value and Value as keys.
examples:
- program: 'to_entries'

View File

@ -1035,7 +1035,11 @@ to_entries
[{"key":"a", "value":1}, {"key":"b", "value":2}]
from_entries
[{"key":"a", "value":1}, {"key":"b", "value":2}]
[{"key":"a", "value":1}, {"Key":"b", "value":2}]
{"a": 1, "b": 2}
from_entries
[{"key":"a", "Value":1}, {"Name":"b", "value":2}]
{"a": 1, "b": 2}
with_entries(.key |= "KEY_" + .)