在Powershell 5.1中,我如何解析下面的JSON,以便将所有xString
值写入一个新文件>output.txt
如下?
所需输出.txt:
ABC
DEF
GHI
Json解析:
{
"status": 0,
"result": {
"retrievedObjects": [
{
"someName": "loremIpsum",
"someBoolean": false,
"anotherBool": false,
"someString": "loremIpsum",
"xString": "ABC"
},
{
"childxStrings": [
"CustomLabel"
],
"someName": "loremIpsumABC",
"someBoolean": false,
"anotherBool": false,
"someString": "loremIpsumYZY",
"xString": "DEF"
},
{
"someName": "settings",
"someBoolean": false,
"anotherBool": false,
"someString": "settings",
"xString": "GHI"
}
],
"someNamespace": "",
"someSetting": false,
"someOtherBool": true
}
}
您可以使用Get-Content
解析JSON文件,然后使用ConvertFrom-Json
:将JSON转换为自定义对象
$json = Get-Content -Path .sample.json -Raw | ConvertFrom-Json
然后使用点表示法(如@AdminOfThings所建议的(访问嵌套的xString
属性,并使用Out-File
:输出到文本文件
$json.result.retrievedObjects.xString | Out-File -FilePath output.txt
您还可以查看PowerShell 3.0中的简化Foreach语法,以了解有关上述语法的更多信息。这也被称为成员枚举。