jq가 대시와 번호가 있는 태그 이름에서 작동하지 않습니다.
사용하고 있다jq
내 json 태그에 "-"가 있어jq
컴파일되지 않습니다.나는 그것을 성공시키기 위해 피할 수 없다.명령어는 다음과 같습니다.
curl -X GET -H "X-AppKey:foo" "foo/v2/_status" | jq '.component-status[]'
나는 ...을 읽고 있다.jq
이 게시물은 https://github.com/stedolan/jq/issues/202 입니다만, 동작하지 않습니다.
이것은 의 출력입니다.curl
:
{
"status": "ok",
"hostname": "0b0b495a46db",
"component-status": [
{
"status-code": 200,
"component": "Service1",
"status": "OK"
},
{
"status-code": 200,
"component": "Service2",
"status": "OK"
}
]
}
감 잡히는 게 없어요?
괄호와 큰따옴표로 묶어야 합니다.
jq '."component-status"'
지정된 입력으로 다음과 같이 반환됩니다.
[
{
"status": "OK",
"component": "Service1",
"status-code": 200
},
{
"status": "OK",
"component": "Service2",
"status-code": 200
}
]
.foo, .foo.bar
가장 간단한 유용한 필터는
.foo
JSON 오브젝트(사전 또는 해시)를 입력으로 지정하면 키 "foo"로 값을 생성하거나 존재하지 않으면 null로 값을 생성합니다.키에 특수 문자가 포함되어 있는 경우는, 다음과 같이 큰따옴표로 둘러싸야 합니다.
."foo$"
.
필드 이름에 대시가 있는 경우 github issue Cannot select 필드에서 다음을 수행합니다.
현재, 그것은 뺄셈으로 해석됩니다.키가 식별자 구문에 맞지 않을 경우 언제든지 문자열을 명시적으로 사용할 수 있습니다.
rjurney 또는 그의 답변에 대한 코멘트 작성자가 제안한 옵션은 나에게 효과가 없었습니다(아마 PowerShell을 사용했기 때문일 것입니다). 그러나 github 문제에서 나온 답변에는 \를 사용하여 큰따옴표를 회피하는 방법이 있었습니다.
jq '.\"component-status\"'
언급URL : https://stackoverflow.com/questions/37344329/jq-not-working-on-tag-name-with-dashes-and-numbers
'programing' 카테고리의 다른 글
href 및 onClick in ReactJS (0) | 2023.03.25 |
---|---|
Android에서의 JSON 오브젝트 전송 및 해석 (0) | 2023.03.25 |
스프링 부트에서 WSDL을 사용하는 방법 (0) | 2023.03.25 |
MUI - 컴포넌트를 중앙/오른쪽에 정렬하는 방법 (0) | 2023.03.25 |
JSON의 올바른 MIME 유형은 무엇입니까? (0) | 2023.03.25 |