使用 powershell 从 JSON 中删除对象

Removing Objects from JSON using powershell

我有一个 test.json 文件,其结构如下:

{
  "name": "test",
  "class": "4",
  "exam": "test",
  "marks": "4"
}

我想从中删除一些对,例如 exam 和 class,最终它应该如下所示:

{
  "name": "test",
  "marks": "4"
}

如何从 powershell 执行此操作?

powershell 命令:

$obj = Get-Content .\aaa.json | ConvertFrom-Json
$obj.psobject.properties.remove('exam')
$obj.psobject.properties.remove('class')
$obj | ConvertTo-Json

输出:

{
    "name":  "test",
    "marks":  "4"
}

您的 post 不完全清楚您是想删除某些键,还是只想保留 marksname。下面的代码执行后者:

Get-Content 'test.json' -Raw | 
    ConvertFrom-Json | 
    Select-Object name, marks | 
    ConvertTo-Json

结果:

{
    "name":  "test",
    "marks":  "4"
}