jq에서 해당 키의 키 및 값을 기준으로 json 파일을 정렬하는 방법
Pentaho CTools 라이브러리를 사용하여 웹사이트를 구축하고 있습니다. 이 라이브러리는 대시보드의 일부에 JSON 형식의 파일을 쓰는 그래픽 대시보드 에디터를 갖추고 있습니다.
이 파일들을 git에 체크인하기 전에 키별, 특정 키의 값별로 정렬하기 위해 변환하고 싶습니다.편집자가 모든 json 필드를 재배치하는 습관이 있기 때문에 그 목적은 차이를 쉽게 만드는 것입니다.
예를 들어 다음과 같은 경우가 있습니다.
{
"components": {
"rows": [
{
"id": "CHARTS",
"name": "Charts",
"parent": "UnIqEiD",
"properties": [
{
"name": "Group",
"type": "Label",
"value": "Charts"
}
],
"type": "Label",
"typeDesc": "<i>Group</i>"
},
{
"id": "kjalajsdjf",
"meta_cdwSupport": "true",
"parent": "CHARTS",
"properties": [
{
"name": "name",
"type": "Id",
"value": "Value1"
},
{
"name": "title",
"type": "String",
"value": "Value2"
},
{
"name": "listeners",
"type": "Listeners",
"value": "[]"
},
...
우리는 할 수 있다jq --sort-keys(http://stedolan.github.io/jq/)에서 모든 키를 정렬합니다만, 이 키를 사용하는 방법을 찾는 데 어려움을 겪고 있습니다.sort_by특정 요소를 특정 키의 값에 따라 정렬하는 기능(위의 예에서는 정렬 기준)properties.name예를들면.좋은 생각 있어요?
좋아요, IRC 채널에서 도움을 좀 받아서 답을 찾았어요.
기본적으로 다음과 같습니다.
jq \
'.components.rows|=sort_by(.id)|.components.rows[].properties|=sort_by(.name)' \
file.json > out.json
올바른 개체를 선택합니다.
필요에 따라 어레이로 이행,
그리고나서sort_by단일값
난 노력했어sort_by(.components.rows.id)실패했어요.
|=대신|는 값을 삭제하지 않고 전달합니다.
이것은 질문에 대한 답변은 아니지만, 다음은 속성/키별로 정렬하는 다른 방법입니다.
jq --sort-keys . my_file > sorted_file
-혹은...
jq -S . my_file > sorted_file
언급URL : https://stackoverflow.com/questions/30331504/how-to-sort-a-json-file-by-keys-and-values-of-those-keys-in-jq
'programing' 카테고리의 다른 글
| Wordpress에서 session_start를 사용하는 방법 (0) | 2023.03.10 |
|---|---|
| Oracle에서 PL/SQL 출력을 플러시하는 방법이 있습니까? (0) | 2023.03.10 |
| 리액션 리덕스 내 성분과 용기의 차이 (0) | 2023.03.10 |
| 각도 html을 렌더링하는 방법JS 템플릿 (0) | 2023.03.10 |
| 객체 위에 불변js를 사용해야 하는 이유는 무엇입니까?얼려? (0) | 2023.03.10 |