$json = @"{"mem":[[1377691200,10],[1377770400,0]],"proc":[[1377691200,80],[1377770400,0]]}"@
$jobj = ConvertFrom-Json -InputObject $json
$datetime = 1377780400
$proc = 85
$add = @($datetime, $proc)
$jobj.proc += $($add)
cls
ConvertTo-Json $jobj
上面的代码段应该为json字符串添加一个数组值,但似乎会添加到单独的值。
在结果中,添加的值不具有[],如果我转到$ jobj.proc [3]和[4],则将值从原始数组中分离出来。我该怎么做才能解决这个问题?
我找到了问题PowerShell how to add something on parsed JSON?
但是我没有为我的参赛作品命名,所以不会工作:(
任何线索
答案 0 :(得分:1)
这似乎有效:
$json = '{"mem":[[1377691200,10],[1377770400,0]],"proc":[[1377691200,80],[1377770400,0]]}'
$jobj = ConvertFrom-Json -InputObject $json
$datetime = 1377780400
$proc = 85
$add = @($datetime, $proc)
$jobj.proc += ,$add
cls
ConvertTo-Json $jobj
在+ =操作中添加前导逗号可防止"展开" $ add array。