遍历 JSON 数组并打印出相同的键值

Looping through JSON array and print out same key values

有 JSON 数组,其中包含多个相同的键,以纪元显示时间,想要打印然后将时间转换为 EST

{
"contents":[
      { 
        "name":"windows-Instance",
        "Buildid":"1234",
        "Buildtime":"1563350400238"
      },
      {
        "name":"linux-Instance",
        "Buildid":"1454",
        "Buildtime":"1563264000198"
      },
      {
      "name":"linux-Instance",
        "Buildid":"1278685",
        "Buildtime":"1563177600092"
       }
  ]
}

您可以尝试打印每个对象,将 Epoch 转换为当前时区:

Function Get-EpochDate ($epochDate) { [timezone]::CurrentTimeZone.ToLocalTime(([datetime]'1/1/1970').AddMilliseconds($epochDate)) }

$contents = (Get-Content .\test.json | ConvertFrom-Json).contents

foreach ($object in $contents) {
    $seconds = [long]$object.Buildtime
    Write-Output (Get-EpochDate $seconds)
}

输出:

Wednesday, 17 July 2019 4:00:00 PM
Tuesday, 16 July 2019 4:00:00 PM  
Monday, 15 July 2019 4:00:00 PM