[英]Use Powershell variable in JSON
我正在尝试通过 powershell 中的 function 传递参数,但它不起作用
代码
function test($test1, $test2)
{
$details = @"
{ "updateDetails": [
{
"customer": "John",
"rank": $test1
},
{
"school": "western",
"address": $test2
}
]
}
"@
return $details
}
test 0 florida
目前的问题
{ "updateDetails": [
{
"customer": "John",
"rank":
},
{
"school": "western",
"address": florida
}
]
}
我尝试运行测试,但值 0 未填写在详细信息 json 中,佛罗里达州填写正确。 我怎样才能替换这两个值。 还有佛罗里达怎么能成串
您的代码非常好。 我运行了您的示例,它按预期工作。 也许您错过了更新 function。关闭 shell,然后重试。
要将"florida"
作为字符串包含在内,您可以简单地在变量"$test2"
周围添加引号,或者更安全:使用ConvertTo-Json到 output 正确引用和转义的 JSON 字符串:
function test {
param ([int]$rank, [string]$address)
return @"
{ "updateDetails": [
{
"customer": "John",
"rank": $rank
},
{
"school": "western",
"address": $(ConvertTo-Json $address)
}
]
}
"@
}
test 0 florida
0 为我填写,但佛罗里达州没有引号,这是无效的 JSON。为了使生活更轻松,而不是构建此处字符串,请考虑构建 object 并使用内置 cmdlet ConvertTo-将其转换为 JSON- 杰森。
在这个例子中,我将向您展示如何使用哈希表来做到这一点
function test($test1, $test2)
{
$details = @{
"updateDetails"=
@(
@{
"customer" = "John"
"rank" = $test1
},
@{
"school" = "western"
"address" = $test2
}
)
}
return $details | ConvertTo-Json
}
test 0 florida
output
{
"updateDetails": [
{
"customer": "John",
"rank": 0
},
{
"school": "western",
"address": "florida"
}
]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.