【发布时间】:2018-09-03 14:43:11
【问题描述】:
我有下面的json
{
"abc": [
{ "def": [ "", "" ] },
{ "ghi": [ "", "" ] },
{ "xyz" : ["\\[dbo\\].\\[abc1\\]", "\\[dbo\\].\\[def1\\]"] }
]
}
我想读取这个 json 并使用下面的代码将 xyz 元素的字符串转换为 powershell 中的字符串数组,但它不起作用。
$json = Get-Content "path to json file" | Out-String
$json = $json | ConvertFrom-Json
GetArrayFromJson -json $json
$global:array
Function GetArrayFromJson(){
Param(
$json
)
$global:array= ''
$global:array
$global:array= $json.abc.xyz
$global:array
}
【问题讨论】:
-
“它不工作”是什么意思?你知道你必须创建一个函数之前你可以使用它,不是吗?
-
是的,在这里我错误地将它写在函数上方..但是该函数可用..我的意思是说,如果我将变量声明为,我希望输出等于相同的不工作$global:array = "\[dbo\].\[abc1\]", "\[dbo\].\[def1\]"。收到了吗?
-
简单来说,我想读取一个json的元素,它具有字符串数组,并在powershell中将其转换为字符串数组
-
嗯......但如果你使用
ConvertFrom-Json它已经是Powershell。你可以用$json.abc.xyz输出它 -
对,就是这样。请阅读。问题是如果我将变量声明为 $global:array = "[dbo].[abc1]", "[dbo].[def1]",则此输出不是预期的并且等于情况。不应该吗?
标签: arrays json powershell powershell-3.0