반응형
    
    
    
  jq: 문자열로 어레이를 인덱싱할 수 없습니다.
파일(「myfile」이라고 부릅니다)에는 다음과 같은 것이 있습니다.
[{
    "id": 123,
    "name": "John",
    "aux": [{
        "abc": "random",
        "def": "I want this"
    }],
    "blah": 23.11
}]
파일에 첫 번째 파일이 없으면 구문 분석할 수 있습니다.[그리고 마지막]다음과 같습니다.
$ cat myfile | jq -r '.aux[] | .def'
I want this
$
단,[그리고.]이해:
$ cat myfile | jq -r '.aux[] | .def'
jq: error: Cannot index array with string
어떻게 대처하면 좋을까요?[그리고.]jq를 사용하고 있습니까?(다른 툴로 해석할 수 있지만 jq의 올바른 사용법을 배우고 싶습니다.
다음 중 하나여야 합니다.
jq '.[].aux[].def' file.json
.[]외부 어레이에서 반복됩니다..aux[]그 다음에, 그 위에 반복한다.aux모든 노드의 어레이와.def인쇄하다.def소유물.
다음과 같이 출력됩니다.
"I want this"
큰따옴표를 없애고 싶다면-r(--raw)에 대해서jq:
jq -r '.[].aux[].def' file.json
출력:
I want this
언급URL : https://stackoverflow.com/questions/34543829/jq-cannot-index-array-with-string
반응형
    
    
    
  'programing' 카테고리의 다른 글
| WordPress에서 현재 사용자의 역할을 아는 방법 (0) | 2023.02.26 | 
|---|---|
| jQuery ajax 호출에 여러 파라미터 전달 (0) | 2023.02.26 | 
| $sce.trustAsResourceUrl() 글로벌 (0) | 2023.02.21 | 
| onEnter가 React-Router에서 호출되지 않음 (0) | 2023.02.21 | 
| 익명 유형을 포함하는 JsonResult의 아사트 (0) | 2023.02.21 |