다음과 같은 JSON이 있다고 가정 해 보겠습니다.
[
{"foo": "apple", "bar": 42},
{"foo": "pear", "bar": 13},
{"foo": "apple", "bar": 666}
]
다음과 같이 어떻게 변환 할 수 있습니까?
{
"apple": [42, 666],
"pear": [13],
}
bar
s를 s로 그룹화 foo
?
지금까지 jq
의 group_by(...)
기능을 사용해 보았습니다 .
[
[{"foo": "apple", "bar": 42}, {"foo": "apple", "bar": 666}],
[{"foo": "pear", "bar": 13}]
]
시작이지만 정확히 제가 찾고있는 것은 아닙니다.
간단하고 효율적인 솔루션은 group_by
현재 정렬 작업을 수반하는 구현을 피할 수 있습니다.
reduce .[] as $x ({}; .[$x.foo] += [$x.bar])
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다