使用MS PowerShell ISE查询JSON数据

时间:2018-12-14 07:27:12

标签: json powershell

我有一个包含json数据的文本文件,看起来像这样:

{ 
  "field1":"value1",
  "field2": [
      { 
         "subfield1": "subvalue",
         "subfield2": []
      },
      { 
         "subfield1": "subvalue2",
         "subfield2": [ "string1", "string2", "...", "stringN" ]
      }
  ]
}

我想获取包含在field2中的对象数,其中subfield2为空。

我尝试过这种方法,以获取subfield2为空的所有对象:

$datas = Get-Content -Path .\data
$json = $datas | ConvertFrom-Json
$json.field2 | Select-Object subfield2 | where subfield2 -Match ".*\[\].*"

执行此操作将无输出。使用-EQ或-Like也不起作用。

1 个答案:

答案 0 :(得分:3)

可能还有许多其他方式。这是一个。

CompletableFuture<Void> future = CompletableFuture.supplyAsync(...) ... // 

System.out.println("Thread name " + Thread.currentThread().getName());

future.join();    

使用@($json.field2 | Where-Object {$($_.subfield2) -eq $null}).Count $_.subfield2用作字符串。检查字符串是否为$ null。