在 JSON 中使用 Powershell 变量
Use Powershell variable in JSON
我正在尝试通过 powershell 中的函数传递参数,但它不起作用
代码
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,佛罗里达州填写正确。我怎样才能替换这两个值。还有佛罗里达怎么能在字符串
您的代码完全没问题。我 运行 你的例子,它按预期工作。也许您错过了更新功能。关闭 shell 然后重试。
要将 "florida"
包含为字符串,您可以简单地在变量 "$test2"
周围添加引号,或者更安全:使用 ConvertTo-Json 输出正确引用和转义的 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。
为了让生活更轻松一些,而不是构建一个 here-string,考虑构建一个对象并使用 built-in cmdlet ConvertTo-Json.
将其转换为 JSON
在这个例子中,我将向您展示如何使用哈希表来做到这一点
function test($test1, $test2)
{
$details = @{
"updateDetails"=
@(
@{
"customer" = "John"
"rank" = $test1
},
@{
"school" = "western"
"address" = $test2
}
)
}
return $details | ConvertTo-Json
}
test 0 florida
输出
{
"updateDetails": [
{
"customer": "John",
"rank": 0
},
{
"school": "western",
"address": "florida"
}
]
}
我正在尝试通过 powershell 中的函数传递参数,但它不起作用
代码
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,佛罗里达州填写正确。我怎样才能替换这两个值。还有佛罗里达怎么能在字符串
您的代码完全没问题。我 运行 你的例子,它按预期工作。也许您错过了更新功能。关闭 shell 然后重试。
要将 "florida"
包含为字符串,您可以简单地在变量 "$test2"
周围添加引号,或者更安全:使用 ConvertTo-Json 输出正确引用和转义的 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。 为了让生活更轻松一些,而不是构建一个 here-string,考虑构建一个对象并使用 built-in cmdlet ConvertTo-Json.
将其转换为 JSON在这个例子中,我将向您展示如何使用哈希表来做到这一点
function test($test1, $test2)
{
$details = @{
"updateDetails"=
@(
@{
"customer" = "John"
"rank" = $test1
},
@{
"school" = "western"
"address" = $test2
}
)
}
return $details | ConvertTo-Json
}
test 0 florida
输出
{
"updateDetails": [
{
"customer": "John",
"rank": 0
},
{
"school": "western",
"address": "florida"
}
]
}