我使用 powershell 來決議帶有陣列物件的 Json 檔案,我的 Json 檔案如下:
Test.json:
{
"My Test Plan A": {
"VariableA":"A",
"VariableB":"B",
"VariableC":"C",
"VariableD":"D"
},
"My Test Plan B": {
"VariableA":"E",
"VariableB":"F",
"VariableC":"G",
"VariableD":"H"
}
}
如您所見My Test Plan A,My Test Plan B在我的 json 檔案中有兩個物件。并且每個物件都有相同的變數名,但它們的值不同。
現在我要實作的是,當給定陣列物件的名稱時,獲取對應陣列的變數,這樣就可以得到陣列中的所有變數,以供下一段代碼使用。
獲取到對應的陣列變數后,下面代碼中獲取的運算式是怎樣的$(VariableA)?
注意:
JSON檔案是我自己寫的,如果不合適請直接修改
uj5u.com熱心網友回復:
如果您確實需要使用單個變數,請使用內在.psobject屬性來獲取目標物件的屬性,并根據它們使用以下方法設定變數Set-Variable:
# Specify the name of the target property
$name = 'My Test Plan B'
Get-Content -Raw file.json |
ConvertFrom-Json |
ForEach-Object {
foreach ($p in $_.$name.psobject.Properties) {
Set-Variable $p.Name $p.Value
}
}
但是,請注意,您可以將目標物件作為一個整體使用并訪問其屬性來代替定義多個變數:
# Specify the name of the target property
$name = 'My Test Plan B'
$object = (Get-Content -Raw file.json | ConvertFrom-Json).$name
# Now you can use $object.VariableA, ...
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/528435.html
標籤:数组json电源外壳
