我是 Powershell 的新手,我在谷歌搜索上找不到这个,但是如何构建一个内部有数组的 json 结构?是通过自定义对象吗?我对网上看到的语法有点困惑,不确定推荐的方法是什么。最终我也需要能够将其保存到 JSON 文件中。
json_ret = {
"a": 4,
"b": [ {"c" : 5, "d": "text", "e": "foo"}]
}
Run Code Online (Sandbox Code Playgroud)
是的,您可以通过 PSCustomObject 构建 json 对象:
[PSCustomObject]@{
a = 4
b = @([ordered]@{
c = 5
d = "text"
e = "foo"
})
} | ConvertTo-Json
Run Code Online (Sandbox Code Playgroud)
首先,我们使用其类型加速器 PSCustomObject 创建 PSObject。
然后我们定义根键和值“a”,并且我们必须在“b”内创建一个数组。
该@()语句创建了一个数组,但我们不能在数组中创建键值对。所以我们用它@{}来创建哈希表。在它之前的[ordered]标志表示哈希表要保持我们创建它时的精确结构。
然后我们定义数组值,然后关闭内部数组哈希表。
现在我们结束 PSCustomObject 并对其进行管道传输ConvertTo-Json。现在你得到了一个转换后的json。
脚注
[PSCustomObject]@{
a = 4
b = @([ordered]@{
c = 5
d = "text"
e = "foo"
})
} | ConvertTo-Json | Out-File "Filepath"
Run Code Online (Sandbox Code Playgroud)
$variable = ([PSCustomObject]@{
a = 4
b = @([ordered]@{
c = 5
d = "text"
e = "foo"
})
} | ConvertTo-Json)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15147 次 |
| 最近记录: |