我已經將 API 呼叫的內容決議為變數 $a。(下面的內容),我只想決議出“依賴項”下的包串列。有沒有辦法只使用 powershell 過濾依賴項?
{
"name": "1package",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/runtime": {
"version": "7",
"resolved": "https://registry.npmjs.org",
"integrity": "***",
"requires": {
"regenerator-runtime": "^0.13.4"
}
},
"@cloud": {
"version": "2",
"resolved": "https://registry.npmjs.org/",
"integrity": "***"
},
"@cloudnative/health-connect": {
"version": "2",
"resolved": "https://registry.npmjs.org/@***.tgz",
"integrity": "***",
"requires": {
"@cloudnative/health": "^2.1.1"
}
},
所以我只想決議出一個串列
babel/runtime version 7
cloud version 2
cloudnative/health-connect version 2
uj5u.com熱心網友回復:
通過訪問PSObject.Properties每個物件的 ,我們可以獲得依賴項"Name"以及屬性"Version"和"Resolved"的所需值。使用計算屬性,Select-Object我們可以構造一個新物件。
請注意,此代碼假定您已經使用ConvertFrom-Json了 Json 字串,并且該物件存盤在$json變數中。
$json.dependencies.PSObject.Properties | Select-Object Name,
@{
Name = 'Version'
Expression = { $_.Value.Version }
}, @{
Name = 'Resolved'
Expression = { $_.Value.Resolved }
}
輸出
Name Version Resolved
---- ------- --------
@babel/runtime 7 https://registry.npmjs.org
@cloud 2 https://registry.npmjs.org/
@cloudnative/health-connect 2 https://registry.npmjs.org/@***.tgz
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/416696.html
標籤:
