jq를 사용하여 json 객체에서 null 값을 제거하려고합니다. 나는 그들의 github에 this issue을 발견했다. 그래서 지금 나는 del
와 그들을 삭제하려고 노력하고있다.null 값 모두 제거
'{ id: $customerId, name, phones: ([{ original: .phone },
{ original: .otherPhone}]), email} | del(. | nulls)'
이 아무것도하지 않는 것 : 나는이 있습니다. 그러나 nulls
을 .phones
으로 바꾸면 전화 번호가 삭제됩니다. del/1
할 수있는, 그런데
. as $o | [paths[] | {(.) : ($o[.])} ] | add
다음
jq -n '{"a":1, "b": null, "c": null} | with_entries(select(.value != null))'
{
"a": 1
}
또는 paths/0
과 같이 사용할 수 있습니다
충분히 길게 작성하십시오. 실행, 입력, 실제 출력 및 원하는 출력을 보여줍니다. (예를 들어, 당신은 hereoc에서 최소한의 JSON 입력을 제공 할 수 있습니다. 'jq'... your code here ... '<<'EOF '를 실행하십시오. 여기에는 문제를 설명하는 JSON과'EOF ' 나중에). [Minimal, Complete, Verifiable Examples에 대한 도움말 센터 문서] (http://stackoverflow.com/help/mcve)도 참조하십시오. –
... 그대로, 데이터 구조에서 실제로 NUL이 어디에 있는지 알기가 어렵습니다. 이는 솔루션을 빌드하거나 테스트 할 수있는 중요한 요소입니다. –
현재 질문을 끝내기 위해 투표를하는 동안 (1) 다른 사람들이 동의하지 않는 한 실제로 닫히지 않을 것입니다. (2) 닫힌 질문을 편집하면 다시 열기를 위해 대기열에 자동으로 넣습니다. 따라서 MCVE를 포함하도록 확장하면 클로저가 반전되어야합니다. –