{
"BEGIN": {
"type": "text",
"fields": {
"float": {
"type": "float",
"ignore_malformed": true
},
"keyword": {
"type": "keyword",
"ignore_above": 128
}
}
},
"END": {
"type": "text",
"fields": {
"float": {
"type": "float",
"ignore_malformed": true
},
"keyword": {
"type": "keyword",
"ignore_above": 128
}
}
},
...
}
위 형태의 JSON 데이터 객체를 분리하여 아래처럼 바꾸기 위한 jq 명령어에 대한 예시입니다.
{ "BEGIN" : ... }
{ "END": ... }
...
JSON 데이터를 다른 형식으로 변환하기 위해 jq
명령어를 사용할 수 있습니다. 제공된 JSON 데이터를 각각의 객체로 분할하여 { "BEGIN": ... }
, { "END": ... }
등의 형식으로 변환하기 위해서는 jq
를 다음과 같이 사용할 수 있습니다.
jq 'to_entries | .[] | { (.key) : .value }' input.json
이 명령어는 무엇을 하는가?
to_entries
: JSON 객체를 키-값 쌍의 배열로 변환합니다..[]
: 배열의 각 요소에 대해 반복합니다.{ (.key) : .value }
: 각 키와 값을 새로운 객체로 생성합니다.
이 명령은 원래 JSON 객체의 각 키 (BEGIN
, END
등)와 해당 값을 별도의 JSON 객체로 분리하여 출력합니다. 결과는 원하는 형식대로 각각의 JSON 객체로 나타납니다.
단, 이 명령을 사용하기 전에 제공된 JSON이 유효한지 확인하고, 필요한 경우 input.json
을 실제 JSON 파일 이름으로 바꿔 사용하세요.
728x90
댓글