반응형
jq를 사용하여 키 이름을 다른 이름으로 바꾸려면 어떻게 해야 합니까?
이건 충분히 쉬울 거야몇 개의 키(이상적으로는 jq)의 이름을 바꾸고 싶은데, 무엇을 해도 오류가 있는 것 같습니다.다음은 json의 예를 제시하겠습니다.
[
{
"fruit": "strawberry",
"veg": "apple",
"worker": "gardener"
}
]
veg key의 이름을 fruit2(또는 가장 쉬운 것)로 변경하고 worker key도 작업하고 싶습니다.
SED에서 가능한 건 알지만 JQ를 이해하려고 노력 중이야
다음 jq 접근방식을 사용합니다.
jq '[.[] | .["fruit2"] = .veg | .["job"] = .worker | del(.veg, .worker)]' file
출력:
[
{
"fruit": "strawberry",
"fruit2": "apple",
"job": "gardener"
}
]
키(:-)는 with_entries입니다.예: 단일 객체가 주어진 경우:
with_entries(if .key == "veg" then .key = "fruit2" else . end)
이 경우 오브젝트 배열이 있기 때문에 위의 내용을 랩할 수 있습니다.map( ... )
.
언급URL : https://stackoverflow.com/questions/43522133/using-jq-how-can-i-replace-the-name-of-a-key-with-something-else
반응형
'programing' 카테고리의 다른 글
AngularJS에서 지시 스타일을 조작하는 방법은 무엇입니까? (0) | 2023.03.28 |
---|---|
데이터베이스 내의 모든 문자열 인스턴스를 검색 및 치환하려면 어떻게 해야 합니까? (0) | 2023.03.28 |
프로젝터와 카르마를 함께 사용할 수 있습니까? (0) | 2023.03.28 |
React/Redux/Typescript 알림 메시지에서 컴포넌트를 자체에서 마운트 해제, 렌더 해제 또는 삭제하는 방법 (0) | 2023.03.28 |
스프링 부트 시작 시간 최소화 (0) | 2023.03.28 |