[請問] 用PowerShell讀取json的資料
我是個初學PowerShell的新手
想用PowerShell讀取一份json數據,json的結構類似這樣:
{
"1": {
"class": "Data",
"source": "RGYU2",
"detail": {
"Type": "AAA",
"Height": 50,
"saveID": 1
}
},
"3": {
"class": "Data",
"source": "RGYU7",
"detail": {
"Type": "VVV",
"Height": 75,
"saveID": 3
}
},
"7": {
"class": "Data",
"source": "RGTY1",
"detail": {
"Type": "FFF",
"Height": 20,
"saveID": 7
}
}
}
因為每筆資料的編號都不同,我不知道該怎麼索引
目前我摸索出的方法,要先將編號先列出,再依序填入路徑去讀取資料
類似這樣:
($json | Get-Member).name | ForEach-object {$json.$_.detail.Height}
雖然可行,但要先抓出編號,感覺多拐了一段路
有沒有更簡便的辦法,不用知道編號,就能直接索引到各筆資料去讀取?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.140.2 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/ask/M.1682669549.A.ADC.html
推 loadingN: ConvertFrom-Json 04/28 18:10
有 json讀取後就用這指令轉換了,才開始下手處理資料
※ 編輯: RedFox (180.217.140.2 臺灣), 04/28/2023 19:07:08
推
04/28 19:47,
1年前
, 1F
04/28 19:47, 1F
→
04/28 19:48,
1年前
, 2F
04/28 19:48, 2F
→
04/28 19:50,
1年前
, 3F
04/28 19:50, 3F
這結構真的醜
有固定key值,就好直接指定資料路徑了
現在我的方法要遍歷2次,才想問說有沒有只要遍歷1次就好的更簡單方法
推 Schottky: 同意一樓 04/28 20:38
我是有用ConvertFrom-Json了啊,想說這是處理json的基礎步驟就沒提了
問題在於轉換成object後,能否在不知道key值的情況下去抓各筆資料
※ 編輯: RedFox (180.217.140.2 臺灣), 04/28/2023 22:06:18
找到可用語法了,自答
$json.psobject.properties.name 可直接知道編號
$json.psobject.properties.value 後面加key,就能直接索引到資料的值了
※ 編輯: RedFox (180.217.140.2 臺灣), 04/30/2023 15:47:01