[請問] 用PowerShell讀取json的資料

看板ask作者 (紅狐)時間1年前 (2023/04/28 16:12), 1年前編輯推噓1(102)
留言3則, 1人參與, 1年前最新討論串1/1
我是個初學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
這個格式有垃圾 key值正常都是固定的 把變數當key值
04/28 19:47, 1F

04/28 19:48, 1年前 , 2F
根本就搞人吧 常見的應該要是 "id":"1",才對
04/28 19:48, 2F

04/28 19:50, 1年前 , 3F
又或者是像你detail一樣 外面固定key值 把編號放裡面
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
文章代碼(AID): #1aIt_jhS (ask)