초급 질문입니다. PowerShell을 사용하여 JSON에서 특정 값을 가져 오려고합니다. 특히 서비스를 나열하려고합니다. TEST00000 및 FAKE 만 해당됩니다.Powershell로 JSON에서 값 가져 오기
TEST00000 FAKE
--------- ----
@{Enabled=True; Processed=2; Sent=3; Failed=4; Downloaded=5} @{Enabled=True}
가 어떻게 서비스 만의 목록을 얻을 수 있습니다 : 나는 아래의 스크립트를 실행하면
,이 얻을?
더 중요한 것은 키/값이 인 서비스 만 나열하는 방법입니다. Enabled = True 내부에 있습니까?
$JSON = '{
"Envs": {
"DEV": {
"Services": {
"TEST00000": {
"Enabled": true,
"Processed": 2,
"Sent": 3,
"Failed": 4,
"Downloaded": 5
},
"FAKE": {
"Enabled": true
}
}
}
},
"Component": {
"Digger": {
"Envs": {
"DEV": {
"DownloadE": 4
}
}
}
}
}'
$jsonobj = ConvertFrom-Json -inputObject $JSON
$jsonobj.Envs.DEV.Services
답장을 보내 주셔서 감사합니다. 매우 재미있었습니다.이 정보를 찾으려고 많은 시간을 보냈는데, 어떻게 배웠습니까? 이것에 대해 더 자세히 읽을 수있는 곳은 어디입니까? (또는 PS 도움말 내용을 사용하는 기술을 배우고 있습니까?) – ToastMan
@ ToastMan 나는 Don Jones Month of Lunches 책으로 개인적으로 시작했습니다. 숨겨진'psobject' 속성에 대해 알았으므로, 누군가의 답변에서 (내가 누군지 기억하기에는 너무 오랜 동안) 선택했습니다. – BenH
흠 마지막 부분이 작동하지 않는 것 같습니다 : $ _ | Where-Object {$ jsonobj.Envs.DEV.Services. $ _. Enabled -eq 'false'} <- 어쨌든 서비스를 나열합니다 (-eq 'false'로) – ToastMan