我已经有一个通过调用API获得的Json值,我想要向现有属性添加一个新的Json列表,因此
#calling some API in a loop Start
$apijson = Invoke-WebRequest -Uri $api -ErrorAction SilentlyContinue | ConvertFrom-Json
$response = $apijson| ConvertTo-Json
$null = $data.Add($response);
#calling some API in a loop End我的apiJson将如下所示
{
"host": "tet",
"port": 443,
"protocol": "http",
"isPublic": false,
"status": "READY",
"startTime": 1585220081665,
"testTime": 1585220127003,
"engineVersion": "2.1.0",
"criteriaVersion": "2009q",
"endpoints": [
{
"delegation": 1
}
]
}现在我有了一个自定义的新JsonArray
[
{
"name": "TLE",
"Strength": 128
},
{
"name": "TLS",
"trength": 415
}
]我想把上面的JsonArray添加到我原来的Json属性中,这样就可以生成一个完整的Json了,如下所示
{
"host": "tet",
"port": 443,
"protocol": "http",
"isPublic": false,
"status": "READY",
"startTime": 1585220081665,
"testTime": 1585220127003,
"engineVersion": "2.1.0",
"criteriaVersion": "2009q",
"endpoints": [
{
"delegation": 1
}
]
},
"Strength": [
{
"name": "TLE",
"Strength": 128
},
{
"name": "TLS",
"trength": 415
}
]不幸的是,我尝试了Addmember,Concatination都不起作用。
发布于 2020-03-27 00:00:50
这适用于将Strength作为属性添加到现有的单个对象(从JSON转换而来)的时候。使用Add-Member时,需要强制新对象成为单个数组对象。
$apijson = Invoke-WebRequest -Uri $api -ErrorAction SilentlyContinue | ConvertFrom-Json
$newjson = @'
[
{
"name": "TLE",
"Strength": 128
},
{
"name": "TLS",
"trength": 415
}
]
'@ | ConvertFrom-Json
$apijson | Add-Member -Type NoteProperty -Name 'Strength' -Value @($newjson)
$apijson | ConvertTo-Json -Depth 10https://stackoverflow.com/questions/60869635
复制相似问题