gpt4 book ai didi

arrays - 如何在解析的JSON数组中添加对象?

转载 作者:行者123 更新时间:2023-12-03 00:45:23 24 4
gpt4 key购买 nike

我有此文件.json:

{
"topologyTypes": {
"stations": {
"instances": [
{
"@name": "value1",
"@address": "value2"
},
{
"@name": "value3",
"@address": "value4"
}
]
}
},
"agg": {},
"inter": {}
}

我想使用PowerShell在topologyType.stations.instances中添加这样的对象

{
"@name": "value4",
"@adress": "value5"
}

因此,我在PowerShell中尝试了以下代码,但不起作用:

$path = "./data.json"
$jsonFile = Get-Content $path -Raw | ConvertFrom-Json

$jsonContent = @"
{
"@name": "value4",
"@adress": "value5"
}
"@

$jsonFile.topologyTypes.stations.instances |
Add-Content -Value (ConvertFrom-Json $jsonContent)

我想要的期望输出是这样的:

{
"topologyTypes": {
"stations": {
"instances": [
{
"@name": "value1",
"@address": "value2"
},
{
"@name": "value3",
"@address": "value4"
},
{
"@name": "value4",
"@address": "value5"
}
]
}
},
"agg": {},
"inter": {}
}

最佳答案

将新内容定义为PowerShell自定义对象:

$jsonContent = [PSCustomObject]@{
'@name' = 'value4'
'@adress' = 'value5'
}

将其附加到导入的JSON数据的 instances子结构中:
$jsonFile.topologyTypes.stations.instances += $jsonContent

然后将数据转换回JSON字符串:
$jsonFile | ConvertTo-Json -Depth 4

请注意, ConvertTo-Json插入了大量意图空间。如果您想要发布的确切格式,则需要自己做一些 pretty-print 。像 this这样的东西可能会有所帮助。

关于arrays - 如何在解析的JSON数组中添加对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48597871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com